diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json
index 741489043b83..76413cbb70d4 100644
--- a/.azure-pipelines-preproduction/package-lock.json
+++ b/.azure-pipelines-preproduction/package-lock.json
@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@azure/avocado": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.1.tgz",
- "integrity": "sha512-GOdVNS/yr7wSQVUGfvR4/nP6+UDBrxqT/McvTsKuy1vWV8BwgKx3JZLB/9mrWYhXQZ257AQkVO9nepxRu9/PsQ==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.2.tgz",
+ "integrity": "sha512-DU4TD/+U0aXLjz4bGW+vxst4tXm3/HPiOrNh1BcY00rHRnRbR+ZY7AL/nA4+1P6LVPu8msLUXp6HTqqe4QrbHg==",
"dev": true,
"requires": {
"@azure/openapi-markdown": "^0.9.1",
@@ -88,9 +88,9 @@
}
},
"@azure/rest-api-specs-scripts": {
- "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==",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.5.7.tgz",
+ "integrity": "sha512-KbhwZzENz5pB9Me9PxhhuqL7Lru8bmpSOWQ291buvxEYQ+ZwzvHyA0cA8yL5raXZX2IJhslc7ThtcPhAqC0hFw==",
"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.19.6",
+ "oav": "0.19.6",
"request": "^2.88.0"
},
"dependencies": {
@@ -151,23 +151,25 @@
"dev": true
},
"@octokit/endpoint": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz",
- "integrity": "sha512-f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==",
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz",
+ "integrity": "sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==",
"dev": true,
"requires": {
+ "@octokit/types": "^2.0.0",
"is-plain-object": "^3.0.0",
"universal-user-agent": "^4.0.0"
}
},
"@octokit/request": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz",
- "integrity": "sha512-I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz",
+ "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==",
"dev": true,
"requires": {
- "@octokit/endpoint": "^5.1.0",
+ "@octokit/endpoint": "^5.5.0",
"@octokit/request-error": "^1.0.1",
+ "@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"is-plain-object": "^3.0.0",
"node-fetch": "^2.3.0",
@@ -176,22 +178,23 @@
}
},
"@octokit/request-error": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz",
- "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz",
+ "integrity": "sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==",
"dev": true,
"requires": {
+ "@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
- "version": "16.28.9",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.9.tgz",
- "integrity": "sha512-IKGnX+Tvzt7XHhs8f4ajqxyJvYAMNX5nWfoJm4CQj8LZToMiaJgutf5KxxpxoC3y5w7JTJpW5rnWnF4TsIvCLA==",
+ "version": "16.35.0",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.0.tgz",
+ "integrity": "sha512-9ShFqYWo0CLoGYhA1FdtdykJuMzS/9H6vSbbQWDX4pWr4p9v+15MsH/wpd/3fIU+tSxylaNO48+PIHqOkBRx3w==",
"dev": true,
"requires": {
- "@octokit/request": "^5.0.0",
+ "@octokit/request": "^5.2.0",
"@octokit/request-error": "^1.0.2",
"atob-lite": "^2.0.0",
"before-after-hook": "^2.0.0",
@@ -205,6 +208,15 @@
"universal-user-agent": "^4.0.0"
}
},
+ "@octokit/types": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.0.1.tgz",
+ "integrity": "sha512-YDYgV6nCzdGdOm7wy43Ce8SQ3M5DMKegB8E5sTB/1xrxOdo2yS/KgUgML2N2ZGD621mkbdrAglwTyA4NDOlFFA==",
+ "dev": true,
+ "requires": {
+ "@types/node": ">= 8"
+ }
+ },
"@ts-common/add-position": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/@ts-common/add-position/-/add-position-0.0.2.tgz",
@@ -389,20 +401,26 @@
"dev": true
},
"@types/node": {
- "version": "10.14.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.16.tgz",
- "integrity": "sha512-/opXIbfn0P+VLt+N8DE4l8Mn8rbhiJgabU96ZJ0p9mxOkIks5gh6RUnpHak7Yh0SFkyjO/ODbxsQQPV2bpMmyA==",
+ "version": "10.17.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.5.tgz",
+ "integrity": "sha512-RElZIr/7JreF1eY6oD5RF3kpmdcreuQPjg5ri4oQ5g9sq7YWU8HkfB3eH8GwAwxf5OaCh0VPi7r4N/yoTGelrA==",
"dev": true
},
"@types/node-fetch": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.0.tgz",
- "integrity": "sha512-TLFRywthBgL68auWj+ziWu+vnmmcHCDFC/sqCOQf1xTz4hRq8cu79z8CtHU9lncExGBsB8fXA4TiLDLt6xvMzw==",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.3.tgz",
+ "integrity": "sha512-X3TNlzZ7SuSwZsMkb5fV7GrPbVKvHc2iwHmslb8bIxRKWg2iqkfm3F/Wd79RhDpOXR7wCtKAwc5Y2JE6n/ibyw==",
"dev": true,
"requires": {
"@types/node": "*"
}
},
+ "@types/prettier": {
+ "version": "1.18.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.18.3.tgz",
+ "integrity": "sha512-48rnerQdcZ26odp+HOvDGX8IcUkYOCuMc2BodWYTe956MqkHlOGAG4oFQ83cjZ0a4GAgj7mb4GUClxYd2Hlodg==",
+ "dev": true
+ },
"@types/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
@@ -410,9 +428,9 @@
"dev": true
},
"abab": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz",
- "integrity": "sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz",
+ "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==",
"dev": true
},
"abbrev": {
@@ -428,9 +446,9 @@
"dev": true
},
"acorn-globals": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz",
- "integrity": "sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
"dev": true,
"requires": {
"acorn": "^6.0.1",
@@ -612,9 +630,9 @@
"dev": true
},
"autorest": {
- "version": "2.0.4283",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4283.tgz",
- "integrity": "sha512-3jU9yDR71d2thRnKdPH03DaWbla1Iqnrx2rqUUwbMrb4di36a8+nttCQaTWG7biWPJc6Ke6zSSTzFH0uhya+Nw==",
+ "version": "2.0.4407",
+ "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4407.tgz",
+ "integrity": "sha512-keyeMDb/bVNN8hnDd8o08UC2C1OE8HRhubxksljSvKM5osHIJnoKBA1k3kD7MPAJ/+m6UjDQXci3ronxZeYy+Q==",
"dev": true
},
"aws-sign2": {
@@ -1039,9 +1057,9 @@
"dev": true
},
"core-js": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
- "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
+ "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
"dev": true
},
"core-util-is": {
@@ -1070,27 +1088,27 @@
"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.33",
+ "resolved": "https://registry.npmjs.org/cspell/-/cspell-4.0.33.tgz",
+ "integrity": "sha512-jFtXC+08Awb24qlnNId6YSvend7gOJPR4PmbeGySuBxQTrRtds8aoyGDpYgSChLp083UNYq+Ox9WCiAB7CWkcQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
- "commander": "^2.20.0",
+ "commander": "^2.20.3",
"comment-json": "^1.1.3",
- "cspell-glob": "^0.1.11",
- "cspell-lib": "^4.0.25",
+ "cspell-glob": "^0.1.12",
+ "cspell-lib": "^4.1.3",
"fs-extra": "^8.1.0",
"gensequence": "^2.1.2",
"get-stdin": "^7.0.0",
- "glob": "^7.1.4",
+ "glob": "^7.1.5",
"minimatch": "^3.0.4"
},
"dependencies": {
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"fs-extra": {
@@ -1107,9 +1125,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.16",
+ "resolved": "https://registry.npmjs.org/cspell-dict-companies/-/cspell-dict-companies-1.0.16.tgz",
+ "integrity": "sha512-w2kXucNmDxZl3809CHfEPLs+XS/Zigi3bZW82d6WttCe6ts/GyQAQC2KiYG1VHjis8esXiMXkbxQEEL0yOZNJw==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -1133,37 +1151,133 @@
"configstore": "^5.0.0"
}
},
+ "cspell-dict-dotnet": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/cspell-dict-dotnet/-/cspell-dict-dotnet-1.0.12.tgz",
+ "integrity": "sha512-9o3Vppohi00tafLaS9z3FR2qg8MjwAiJ1sQeCwylvAWDmgs/lUbBLLFkgeQ0JYgMj3s5GG1xRP/QWmKMMBXt+w==",
+ "dev": true,
+ "requires": {
+ "configstore": "^5.0.0"
+ }
+ },
"cspell-dict-elixir": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-elixir/-/cspell-dict-elixir-1.0.10.tgz",
- "integrity": "sha512-Z+9K1ZHGo5XnbS2AZ5DG2bpEA9wJ4BdsTa69VIqPgZ6vEfVLqeMidk70FF0Y/DY49+Qyg3ngY0WyE5Je/Romzw==",
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/cspell-dict-elixir/-/cspell-dict-elixir-1.0.11.tgz",
+ "integrity": "sha512-re02+p1cowsQRqBH6zjLo9YcOwJBQ2JsbdM77w5GskvcSK4q5I4yrwtb1DlkU8w6yWGmsUO0CBfbyrkbfQ2X+Q==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
}
},
"cspell-dict-en-gb": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.11.tgz",
- "integrity": "sha512-UnmAeMDzf/YeXuI85BIaQzpArXlt+m+I9S9uy88nvUfq6goOfUFN8Axh0idDtqsFNoaMS5TgSzvjP7DgMXArYg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.13.tgz",
+ "integrity": "sha512-af3QfXtKbG1aMfUIHsnX8RCCY1/gkSNR7/u62lfl/O6zfbTLZZR8qZ1ezs4suVVoM5l4iAoUGvdO6KyEc+1kNA==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
}
},
"cspell-dict-en_us": {
- "version": "1.2.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.18.tgz",
- "integrity": "sha512-P2TRblBVd9KOfwjvI5mxzEXMGBvvTIfqcKSQ+0RbpwC2S4ImW9k++LYxy9LtfSRmdSGjHbejYYtsrgvId1KcoA==",
+ "version": "1.2.20",
+ "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.20.tgz",
+ "integrity": "sha512-LIK9Q/p6Ki7/BETZobLpkcCci/1GIN5de6ptVAWLOlzdtAlaEgomYa6fQ+ne4WNvZL+66fxPgxBTVfW/jFqqUw==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
}
},
+ "cspell-dict-fonts": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cspell-dict-fonts/-/cspell-dict-fonts-1.0.3.tgz",
+ "integrity": "sha512-0iDY0S1qd+D0m8p7209XTbWzTMQqvknJ5GjWfucYV7mSIlU6Ic5e2yY1cr8O7CSiRKLFQTJ/77yTuIZK+69rDA==",
+ "dev": true,
+ "requires": {
+ "configstore": "^4.0.0"
+ },
+ "dependencies": {
+ "configstore": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz",
+ "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "unique-string": "^1.0.0",
+ "write-file-atomic": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^1.0.0"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ }
+ }
+ },
"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"
@@ -1233,18 +1347,18 @@
}
},
"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"
}
},
"cspell-dict-python": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/cspell-dict-python/-/cspell-dict-python-1.0.14.tgz",
- "integrity": "sha512-w8kevjvayndKkZqY4yt877UzGXUNTG6gB0zoeOCVxnAFFqTexVvmJ9Johc+eOdqd+dnUu6gF8XfX4ZdX5J+Rxw==",
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/cspell-dict-python/-/cspell-dict-python-1.0.17.tgz",
+ "integrity": "sha512-E1zzL2nyoHJ4oLriGqqFjoCmYs9nBeqnn/3WOdmBILaahWV5Ms61iEGqJNt2ggRTKFuAq7ZZDfoUmK2yYwvgEA==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -1268,10 +1382,184 @@
"configstore": "^5.0.0"
}
},
+ "cspell-dict-software-terms": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cspell-dict-software-terms/-/cspell-dict-software-terms-1.0.3.tgz",
+ "integrity": "sha512-vY0uAo+93JlggPQJ5BiqSAeSOdLSTCtXFGSTR2kmO0slOzjY+fs6iKxKZbCc0l3wdfDzlxS2U4Hf9K+ChW893g==",
+ "dev": true,
+ "requires": {
+ "configstore": "^4.0.0"
+ },
+ "dependencies": {
+ "configstore": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz",
+ "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "unique-string": "^1.0.0",
+ "write-file-atomic": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^1.0.0"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ }
+ }
+ },
+ "cspell-dict-typescript": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cspell-dict-typescript/-/cspell-dict-typescript-1.0.1.tgz",
+ "integrity": "sha512-ihyMstWPKhBHGIX+gG/blh4zq740eIOBzg4B0qoOi+ox9EaipZO7nA45Fj3StY9rw//vWXpgr30K9My5n0GucA==",
+ "dev": true,
+ "requires": {
+ "configstore": "^4.0.0"
+ },
+ "dependencies": {
+ "configstore": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz",
+ "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "unique-string": "^1.0.0",
+ "write-file-atomic": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^1.0.0"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ }
+ }
+ },
"cspell-glob": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-0.1.11.tgz",
- "integrity": "sha512-1s9539g+AB+V0gX4TPfCvhwWYso/fKlWQIX5w31BuqLjV6e8542x9vpdO/GS7aq1y1vec4ocx0B9I/d1SGFDSg==",
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-0.1.12.tgz",
+ "integrity": "sha512-4ogphDPvCAZtFuBBcRZNf8GTmyuWHJ/PN3oH39AnIgjejMN2P0DsWXw0bSDilbbldR2iABWGVwTlLayxXCxTbQ==",
"dev": true,
"requires": {
"micromatch": "^4.0.2"
@@ -1323,9 +1611,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.19",
+ "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-4.0.19.tgz",
+ "integrity": "sha512-ZDIDDNWtvGi0bCNE8v5Q6pD49raCFxGZkfAsWjs8Q+4FT1X1BiyjNlvEO1csPTxhC9o+MlCkhdpxEnv+QZZCBQ==",
"dev": true,
"requires": {
"iconv-lite": "^0.4.24",
@@ -1333,20 +1621,22 @@
}
},
"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.3",
+ "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.1.3.tgz",
+ "integrity": "sha512-mJqdo7rzITSifbqEamt6Ex3S7+xenmSb+Gf++PhRU9DSlC3z2YgcFxpJqzTAuf2FaIBtj3QY5q8Ipvi0gH6CXA==",
"dev": true,
"requires": {
"comment-json": "^1.1.3",
"configstore": "^5.0.0",
- "cspell-dict-companies": "^1.0.12",
- "cspell-dict-cpp": "^1.1.21",
+ "cspell-dict-companies": "^1.0.16",
+ "cspell-dict-cpp": "^1.1.23",
"cspell-dict-django": "^1.0.12",
- "cspell-dict-elixir": "^1.0.10",
- "cspell-dict-en-gb": "^1.1.11",
- "cspell-dict-en_us": "^1.2.18",
- "cspell-dict-fullstack": "^1.0.15",
+ "cspell-dict-dotnet": "^1.0.12",
+ "cspell-dict-elixir": "^1.0.11",
+ "cspell-dict-en-gb": "^1.1.13",
+ "cspell-dict-en_us": "^1.2.20",
+ "cspell-dict-fonts": "^1.0.3",
+ "cspell-dict-fullstack": "^1.0.18",
"cspell-dict-golang": "^1.1.12",
"cspell-dict-haskell": "^1.0.2",
"cspell-dict-html-symbol-entities": "^1.0.11",
@@ -1354,16 +1644,18 @@
"cspell-dict-latex": "^1.0.11",
"cspell-dict-lorem-ipsum": "^1.0.10",
"cspell-dict-php": "^1.0.11",
- "cspell-dict-powershell": "^1.0.2",
- "cspell-dict-python": "^1.0.14",
+ "cspell-dict-powershell": "^1.0.3",
+ "cspell-dict-python": "^1.0.17",
"cspell-dict-rust": "^1.0.10",
"cspell-dict-scala": "^1.0.9",
- "cspell-io": "^4.0.17",
- "cspell-trie-lib": "^4.0.15",
- "cspell-util-bundle": "^4.0.5",
+ "cspell-dict-software-terms": "^1.0.3",
+ "cspell-dict-typescript": "^1.0.1",
+ "cspell-io": "^4.0.19",
+ "cspell-trie-lib": "^4.1.1",
+ "cspell-util-bundle": "^4.0.6",
"fs-extra": "^8.1.0",
"gensequence": "^2.1.2",
- "vscode-uri": "^2.0.3"
+ "vscode-uri": "^2.1.1"
},
"dependencies": {
"fs-extra": {
@@ -1380,19 +1672,19 @@
}
},
"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.1",
+ "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.1.1.tgz",
+ "integrity": "sha512-lyKfiXCLyNYqcLiwwctzQjBV5ZTeeQDWRHC69Qrj16oTFjEGRgY2VkREzRRwy2fj0/D/Q3wQShq5sYTx9DBofg==",
"dev": true,
"requires": {
- "gensequence": "^2.1.2",
- "js-xxhash": "^1.0.1"
+ "gensequence": "^2.1.3",
+ "js-xxhash": "^1.0.4"
}
},
"cspell-util-bundle": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/cspell-util-bundle/-/cspell-util-bundle-4.0.5.tgz",
- "integrity": "sha512-luu/xIjoTRt82eJJxf77fhgjU6XJve+CfoTyfejOj7niYDRvoZkt0rTSHPgTI6MADjaZxlCLleSihEgqidt5WQ==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/cspell-util-bundle/-/cspell-util-bundle-4.0.6.tgz",
+ "integrity": "sha512-EaKvZOr2vzgYeXvEAX9lXNuUU5fA8E+xsaluA0oOQ7lNsNEMmDEjTuyroPpdes7KNuJSCvZeHjmWHU0YlUly7w==",
"dev": true
},
"cssom": {
@@ -1437,9 +1729,9 @@
},
"dependencies": {
"whatwg-url": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
- "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
@@ -1580,9 +1872,9 @@
}
},
"dot-prop": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz",
- "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"dev": true,
"requires": {
"is-obj": "^2.0.0"
@@ -1626,9 +1918,9 @@
}
},
"end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"requires": {
"once": "^1.4.0"
@@ -1664,23 +1956,27 @@
}
},
"es-abstract": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
- "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
+ "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.0",
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-symbols": "^1.0.0",
"is-callable": "^1.1.4",
"is-regex": "^1.0.4",
- "object-keys": "^1.0.12"
+ "object-inspect": "^1.6.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
}
},
"es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
@@ -1963,9 +2259,9 @@
"dev": true
},
"fast-safe-stringify": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz",
- "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
+ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
"dev": true
},
"fecha": {
@@ -2016,9 +2312,9 @@
},
"dependencies": {
"is-buffer": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
"dev": true
}
}
@@ -2148,9 +2444,9 @@
}
},
"glob": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -2205,9 +2501,9 @@
}
},
"graceful-fs": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
- "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
"dev": true
},
"graphlib": {
@@ -2226,9 +2522,9 @@
"dev": true
},
"handlebars": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
- "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
+ "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -2329,9 +2625,9 @@
"dev": true
},
"hosted-git-info": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
- "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
+ "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
"dev": true
},
"html-encoding-sniffer": {
@@ -2803,13 +3099,13 @@
"dev": true
},
"json-schema-faker": {
- "version": "0.5.0-rc17",
- "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rc17.tgz",
- "integrity": "sha512-ZQSLPpnsGiMBuPOHi09cAzhsiIeOcs5im2GAQ2P6XKyWOuetO8eYdYCP/kW7VVU891Ucan0/dl8GYbRA6pf9gw==",
+ "version": "0.5.0-rc23",
+ "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rc23.tgz",
+ "integrity": "sha512-lRzFEnp55TihRzMvUBrtvTlM/aHGhCwfes0/T9bN9OiB2n36/SUFxtMn7anYoES+f95eU3viJ/foXKosCwsiJw==",
"dev": true,
"requires": {
- "json-schema-ref-parser": "^6.0.2",
- "jsonpath": "^1.0.1",
+ "json-schema-ref-parser": "^6.1.0",
+ "jsonpath-plus": "^1.0.0",
"randexp": "^0.5.3"
}
},
@@ -2864,6 +3160,12 @@
}
}
},
+ "jsonpath-plus": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-1.1.0.tgz",
+ "integrity": "sha512-ydqTBOuLcFCUr9e7AxJlKCFgxzEQ03HjnIim0hJSdk2NxD8MOsaMOrRgP6XWEm5q3VuDY5+cRT1DM9vLlGo/qA==",
+ "dev": true
+ },
"jsonschema": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
@@ -2929,9 +3231,9 @@
}
},
"linq": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.0.tgz",
- "integrity": "sha512-rdmaLOf2tSCzZ75scdjjN/LVHGZzRu48ql9LdxppQec/pKpPtf8jlMDlPBX3rQnLMcGPtAx8Lel6YbF7jND70g==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.1.tgz",
+ "integrity": "sha512-BEhjQpbvrKPWlg5m/+PXTHsQoXzzR0UWCvgI8Hm+WtUMtTwPvw9Tay5CWfqsWSVk81wqbHNDFpFXyqBmm4/dqA==",
"dev": true
},
"load-json-file": {
@@ -3024,9 +3326,9 @@
},
"dependencies": {
"colors": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
- "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true
}
}
@@ -3060,15 +3362,6 @@
"integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
"dev": true
},
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -3096,21 +3389,10 @@
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
"dev": true
},
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
"merge2": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz",
- "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
"dev": true
},
"methods": {
@@ -3161,12 +3443,6 @@
"mime-db": "1.40.0"
}
},
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -3236,9 +3512,9 @@
}
},
"mocha": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.0.tgz",
- "integrity": "sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz",
+ "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==",
"dev": true,
"requires": {
"ansi-colors": "3.2.3",
@@ -3261,40 +3537,11 @@
"supports-color": "6.0.0",
"which": "1.3.1",
"wide-align": "1.1.3",
- "yargs": "13.2.2",
- "yargs-parser": "13.0.0",
- "yargs-unparser": "1.5.0"
+ "yargs": "13.3.0",
+ "yargs-parser": "13.1.1",
+ "yargs-unparser": "1.6.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- }
- }
- },
"glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
@@ -3315,47 +3562,12 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
},
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
"supports-color": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
@@ -3364,82 +3576,6 @@
"requires": {
"has-flag": "^3.0.0"
}
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "yargs": {
- "version": "13.2.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz",
- "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==",
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.0.0"
- }
- },
- "yargs-parser": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
- "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
}
}
},
@@ -3567,9 +3703,9 @@
"dev": true
},
"nwsapi": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
- "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
"dev": true
},
"oauth-sign": {
@@ -3816,6 +3952,12 @@
}
}
},
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
@@ -3944,17 +4086,17 @@
}
},
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"dev": true,
"requires": {
"deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
+ "fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "word-wrap": "~1.2.3"
}
},
"os-locale": {
@@ -3976,24 +4118,12 @@
"windows-release": "^3.1.0"
}
},
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
- },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
- "p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true
- },
"p-limit": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
@@ -4080,9 +4210,9 @@
"dev": true
},
"path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
"dev": true,
"requires": {
"isarray": "0.0.1"
@@ -4120,9 +4250,9 @@
"dev": true
},
"picomatch": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
- "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz",
+ "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==",
"dev": true
},
"pify": {
@@ -4164,6 +4294,12 @@
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
+ "prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
+ "dev": true
+ },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -4193,9 +4329,9 @@
"dev": true
},
"qs": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.8.0.tgz",
- "integrity": "sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
+ "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==",
"dev": true
},
"randexp": {
@@ -4362,21 +4498,21 @@
}
},
"request-promise-core": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
- "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
"dev": true,
"requires": {
- "lodash": "^4.17.11"
+ "lodash": "^4.17.15"
}
},
"request-promise-native": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
- "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
"dev": true,
"requires": {
- "request-promise-core": "1.1.2",
+ "request-promise-core": "1.1.3",
"stealthy-require": "^1.1.1",
"tough-cookie": "^2.3.3"
}
@@ -4687,9 +4823,9 @@
}
},
"source-map-support": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+ "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
@@ -4833,6 +4969,26 @@
"integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
"dev": true
},
+ "string.prototype.trimleft": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
+ "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
+ "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -5035,9 +5191,9 @@
"dev": true
},
"ts-node": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
- "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==",
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.5.0.tgz",
+ "integrity": "sha512-fbG32iZEupNV2E2Fd2m2yt1TdAwR3GTCrJQBHDevIiEBNy1A8kqnyl1fv7jmRmmbtcapFab2glZXHJvfD1ed0Q==",
"dev": true,
"requires": {
"arg": "^4.1.0",
@@ -5107,20 +5263,20 @@
"dev": true
},
"uglify-js": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
- "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.8.tgz",
+ "integrity": "sha512-XhHJ3S3ZyMwP8kY1Gkugqx3CJh2C3O0y8NPiSxtm1tyD/pktLAkFZsFGpuNfTZddKDQ/bbDBLAd2YyA1pbi8HQ==",
"dev": true,
"optional": true,
"requires": {
- "commander": "~2.20.0",
+ "commander": "~2.20.3",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
"optional": true
},
@@ -5294,9 +5450,9 @@
"dev": true
},
"vscode-uri": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz",
- "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.1.tgz",
+ "integrity": "sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A==",
"dev": true
},
"w3c-hr-time": {
@@ -5424,6 +5580,12 @@
"triple-beam": "^1.2.0"
}
},
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -5448,9 +5610,9 @@
"dev": true
},
"write-file-atomic": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz",
- "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz",
+ "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==",
"dev": true,
"requires": {
"imurmurhash": "^0.1.4",
@@ -5515,177 +5677,25 @@
}
},
"yargs-unparser": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz",
- "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
+ "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
"dev": true,
"requires": {
"flat": "^4.1.0",
- "lodash": "^4.17.11",
- "yargs": "^12.0.5"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
- }
- },
- "yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
+ "lodash": "^4.17.15",
+ "yargs": "^13.3.0"
}
},
"yasway": {
- "version": "1.8.4",
- "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.4.tgz",
- "integrity": "sha512-Oo6dFvmazhQU6ceazUm59BVraptSXTDhvpW2K14DcpgeyTAyUUpJjuE7HJ4qyF+Ci6blIaQq9mOVHj8pCFhEjQ==",
+ "version": "1.8.6",
+ "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.6.tgz",
+ "integrity": "sha512-zRzjw9Jemtj+1NwAKjE+rExnG+2fY7KMM6PJRIOb8fO+tzq7EdCdp0iZ+O79F3J+/rOXoqFs+Tqa5oVSJq5m1g==",
"dev": true,
"requires": {
"@ts-common/json": "^0.3.0",
"@ts-common/string-map": "^0.3.0",
+ "@ts-common/z-schema": "^4.1.2",
"debug": "^4.1.1",
"faker": "^4.1.0",
"istanbul": "^0.4.5",
@@ -5697,10 +5707,28 @@
"native-promise-only": "^0.8.1",
"path-to-regexp": "^1.7.0",
"swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^4.1.0"
+ "swagger-schema-official": "2.0.0-bab6bed"
},
"dependencies": {
+ "@ts-common/z-schema": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@ts-common/z-schema/-/z-schema-4.1.2.tgz",
+ "integrity": "sha512-PDMAza1jpnCpUUSSVf3LBtTyeo5s9xLQlD68gvW3B0j+RbnxYK9CHHCeLOZxBoKviBgr8+tps6ZVmUCcMSmiFw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.7.1",
+ "core-js": "^3.2.1",
+ "lodash.get": "^4.4.2",
+ "lodash.isequal": "^4.5.0",
+ "validator": "^11.0.0"
+ }
+ },
+ "core-js": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.0.tgz",
+ "integrity": "sha512-lQxb4HScV71YugF/X28LtePZj9AB7WqOpcB+YztYxusvhrgZiQXPmCYfPC5LHsw/+ScEtDbXU3xbqH3CjBRmYA==",
+ "dev": true
+ },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -5709,6 +5737,12 @@
"requires": {
"ms": "^2.1.1"
}
+ },
+ "validator": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
+ "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==",
+ "dev": true
}
}
},
@@ -5730,24 +5764,17 @@
}
},
"z-schema": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.1.1.tgz",
- "integrity": "sha512-0aKvR9FgrghUXXndYNDmAEazl8jykuHSkqkmPw2ZSuTWuLcEscn1zUTbR3LEfyxHl5EEHpqqOpF+Sd7wZvuDxw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.2.tgz",
+ "integrity": "sha512-7bGR7LohxSdlK1EOdvA/OHksvKGE4jTLSjd8dBj9YKT0S43N9pdMZ0Z7GZt9mHrBFhbNTRh3Ky6Eu2MHsPJe8g==",
"dev": true,
"requires": {
"commander": "^2.7.1",
- "core-js": "^3.2.1",
"lodash.get": "^4.4.2",
"lodash.isequal": "^4.5.0",
"validator": "^11.0.0"
},
"dependencies": {
- "core-js": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
- "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
- "dev": true
- },
"validator": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
diff --git a/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json
index c21610ca5bc0..50d8a883bc17 100644
--- a/.azure-pipelines-preproduction/package.json
+++ b/.azure-pipelines-preproduction/package.json
@@ -10,20 +10,22 @@
"description": "Tests for Azure REST API Specifications",
"license": "MIT",
"devDependencies": {
- "@azure/avocado": "^0.6.0",
- "@azure/rest-api-specs-scripts": "^0.5.1",
+ "@azure/avocado": "^0.6.2",
+ "@azure/rest-api-specs-scripts": "^0.5.7",
"@ts-common/commonmark-to-markdown": "^1.2.0",
"@ts-common/fs": "0.2.0",
"@ts-common/iterator": "^0.3.6",
"@types/js-yaml": "^3.12.1",
"@types/mocha": "^5.2.6",
- "cspell": "^4.0.12",
+ "@types/prettier": "^1.18.3",
+ "cspell": "^4.0.30",
"js-yaml": "^3.13.1",
"json-schema-ref-parser": "^6.1.0",
"mocha": "*",
"ts-node": "^8.1.0",
"tslib": "^1.10.0",
- "typescript": "3.5.3"
+ "typescript": "3.5.3",
+ "prettier": "^1.18.2"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
@@ -36,6 +38,8 @@
"scripts": {
"test": "tsc && mocha -t 500000 --reporter min",
"spellcheck": "ts-node ./scripts/spellcheck.ts",
+ "prettier-check": "tsc && ts-node ./scripts/prettier-check.ts",
+ "prettier": "prettier",
"tsc": "tsc",
"multiapi": "ts-node ./scripts/multiapi.ts"
}
diff --git a/.azure-pipelines/ModelValidation.yml b/.azure-pipelines/ModelValidation.yml
index 15ba9410a6dc..7906dab0c5b1 100644
--- a/.azure-pipelines/ModelValidation.yml
+++ b/.azure-pipelines/ModelValidation.yml
@@ -4,8 +4,10 @@ jobs:
vmImage: 'Ubuntu 16.04'
steps:
- task: Npm@1
- displayName: 'npm install'
+ displayName: 'npm ci'
inputs:
+ command: custom
verbose: false
+ customCommand: ci
- script: 'npm run tsc && node scripts/modelValidation.js'
displayName: 'Model Validation'
diff --git a/.azure-pipelines/NetworkValidation.yml b/.azure-pipelines/NetworkValidation.yml
index b62841ad85f7..17784464b8c9 100644
--- a/.azure-pipelines/NetworkValidation.yml
+++ b/.azure-pipelines/NetworkValidation.yml
@@ -14,7 +14,7 @@ jobs:
displayName: Bypass Strong Name validation
- task: NodeTool@0
inputs:
- versionSpec: 10.x
+ versionSpec: '10.16.3'
displayName: Install Node.js
- script: npm install autorest -g
displayName: Install autorest
diff --git a/.azure-pipelines/PrettierCheck.yml b/.azure-pipelines/PrettierCheck.yml
new file mode 100644
index 000000000000..f0dd05c49e7d
--- /dev/null
+++ b/.azure-pipelines/PrettierCheck.yml
@@ -0,0 +1,15 @@
+jobs:
+- job: "PrettierCheck"
+ condition: "not(variables['PRIVATE'])"
+ variables:
+ NODE_OPTIONS: '--max-old-space-size=8192'
+ pool:
+ vmImage: 'Ubuntu 18.04'
+ continueOnError: true
+ steps:
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'npm run prettier-check'
+ displayName: 'Run Prettier Check'
\ No newline at end of file
diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml
new file mode 100644
index 000000000000..521308755773
--- /dev/null
+++ b/.azure-pipelines/SDKAutomation.yml
@@ -0,0 +1,55 @@
+trigger:
+ batch: false
+ branches:
+ include:
+ - "*"
+
+jobs:
+- job: "SDKAutomation"
+ displayName: SDK
+ pool:
+ vmImage: 'Ubuntu 18.04'
+ container:
+ image: azopenapi.azurecr.io/openapi/sdk-automation:prod
+ endpoint: azopenapi-registry
+ timeoutInMinutes: 180
+
+ variables:
+ NODE_OPTIONS: '--max-old-space-size=8192'
+ BLOB_STORAGE_PREFIX: sdkautomation-pipeline
+ SPEC_REPO: $(Build.Repository.Name)
+ PR_NUMBER: $(System.PullRequest.PullRequestNumber)
+ strategy:
+ matrix:
+ Net:
+ SDK_REPO_NAME: azure-sdk-for-net
+ Java:
+ SDK_REPO_NAME: azure-sdk-for-java
+ JavaScript:
+ SDK_REPO_NAME: azure-sdk-for-js
+ Python:
+ SDK_REPO_NAME: azure-sdk-for-python
+ Go:
+ SDK_REPO_NAME: azure-sdk-for-go
+ steps:
+ - checkout: none
+ - script: printenv
+ displayName: Display ENV
+ - script: git config --global user.email "sdkautomation@microsoft.com" && git config --global user.name "SDK Automation"
+ displayName: Configure Git
+ - script: |
+ curl \
+ -s https://api.github.com/repos/$(Build.Repository.Name)/commits/$(Build.SourceVersion)/pulls \
+ -H "Accept: application/vnd.github.groot-preview+json" \
+ | python3 -c "import sys,json; a=json.load(sys.stdin); print(f'##vso[task.setvariable variable=PR_NUMBER]{a[0][\"number\"]}' if len(a)>0 and a[0][\"base\"][\"ref\"]=='master' else '##vso[task.logissue type=error]Last commit $(Build.SourceVersion) doesnot have a related PR')"
+ displayName: Get PR_NUMBER
+ condition: in(variables['Build.Reason'], 'IndividualCI', 'Manual')
+ - script: sudo chown `id -ng`:`id -ng` . && npm start
+ env:
+ BLOB_STORAGE_NAME: $(blob-storage-name)
+ BLOB_STORAGE_KEY: $(blob-storage-key)
+ GITHUB_COMMENT_AUTHOR_NAME: $(github-comment-author-name)
+ GITHUBAPP_ID: $(githubapp-id)
+ GITHUBAPP_PRIVATE_KEY: $(githubapp-private-key)
+ displayName: SDK Automation
+ workingDirectory: /z
diff --git a/.azure-pipelines/Semantic.yml b/.azure-pipelines/Semantic.yml
index 04627acc1a31..5607478dc9db 100644
--- a/.azure-pipelines/Semantic.yml
+++ b/.azure-pipelines/Semantic.yml
@@ -4,8 +4,10 @@ jobs:
vmImage: 'Ubuntu 16.04'
steps:
- task: Npm@1
- displayName: 'npm install'
+ displayName: 'npm ci'
inputs:
+ command: custom
verbose: false
+ customCommand: ci
- script: 'npm run tsc && node scripts/semanticValidation.js'
displayName: 'Semantic Validation'
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index dd2afd20e710..345d8c92354c 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,7 +2,7 @@
MSFT employees can try out our new experience at [OpenAPI Hub](https://aka.ms/openapiportal) - one location for using our validation tools and finding your workflow.
### Contribution checklist:
-- [ ] I have reviewed the [documentation](https://github.com/Azure/azure-rest-api-specs#basics) for the workflow.
+- [ ] I have reviewed the [documentation](https://github.com/Azure/adx-documentation-pr/wiki/Overall-basic-flow) for the workflow.
- [ ] [Validation tools](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-checklist.md#validation-tools-for-swagger-checklist) were run on swagger spec(s) and have all been fixed in this PR.
- [ ] The [OpenAPI Hub](https://aka.ms/openapiportal) was used for checking validation status and next steps.
### ARM API Review Checklist
diff --git a/.github/reviewer.yml b/.github/reviewer.yml
index 0fd114e380a7..6e53458ab4ef 100644
--- a/.github/reviewer.yml
+++ b/.github/reviewer.yml
@@ -3,8 +3,6 @@
- group:
name: default
users:
- - githubID: ruowan
- email: ruowan@microsoft.com
- githubID: raych1
email: raychen@microsoft.com
- githubID: MyronFanQiu
diff --git a/.github/sla.yml b/.github/sla.yml
index 1fcec5d02411..4e4d541c2572 100644
--- a/.github/sla.yml
+++ b/.github/sla.yml
@@ -1,25 +1,50 @@
---
- scheduleTask:
action: sendEmailToAssignee
+ repoWhitelist:
+ - Azure/azure-rest-api-specs
+ scope: pull_request
args:
- ignoredLabels:
- - WaitForARMFeedback
- - DoNotMerge
- - WaitingForAzureAPIBoard
+ booleanFilterExpression: "!(WaitForARMFeedback||(DoNotMerge&&(ARMSignedOff||Approved)))"
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
+ message: ' Dear Swagger reviewer,
Please response to the 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 ${URL}"
+ description: "None initial response in 48 hours. For public repo."
+ name: "[PUBLIC] initial response notification"
+
- scheduleTask:
action: sendEmailToAssignee
+ repoWhitelist:
+ - Azure/azure-rest-api-specs-pr
+ scope: pull_request
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
+ booleanFilterExpression: "!(WaitForARMFeedback||Approved-OkToMerge||(DoNotMerge&&(ARMSignedOff||Approved)))"
+ limit: 48h
+ message: ' Dear Swagger reviewer,
Please response to the 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 ${URL}"
+ description: "None initial response in 48 hours. For private repo."
+ name: "[PRIVATE] initial response notification"
+
+- scheduleTask:
+ action: sendEmail
+ repoWhitelist:
+ - Azure/azure-rest-api-specs
+ scope: pull_request
+ args:
+ booleanFilterExpression: "(WaitForARMFeedback&&!ARMSignedOff&&!ARMChangesRequested&&!ARMReviewInProgress)"
+ limit: 3d
+ subject: "Action Required: Please help to review PR ${URL}"
+ message: " Dear ARM review board,
Please review PR ${URL} , the PR is waiting for ARM review over 3 days. Thanks.
Quick info- If you have feedback about the notification email, please contact us at vscswagger@microsoft.com.
- After reviewing, please remove “WaitForARMFeedback” label from PR to avoid receiving notification on the same PR.
- Please do not reply to this email, this is an automatic generated email.
Best regards,
Azure Management Experience"
+ to: armapireview@microsoft.com
+ description: "send email to ARM team for over 5 days PRs labelled with WaitForARMFeedback"
+ name: "send email to ARM team"
+
+- scheduleTask:
+ action: sendEmailToAssignee
+ scope: issue
+ args:
+ booleanFilterExpression: "triage"
+ limit: 48h
+ message: " Dear Swagger reviewer,
Please response to the issue ${URL} . The issue isn't updated in 48 hours.
Quick info. - If you have any question, please send email to Visual Studio Swagger and Tool team vscswagger@microsoft.com.
Best regards,
Azure Management Experience "
+ subject: "Action Required: Please respond to issue ${URL}"
+ cc: Ankun.Ning@microsoft.com
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 000000000000..fe00946b4792
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,5 @@
+{
+ "plugins": ["./scripts/prettier-swagger-plugin"],
+ "parser": "json-swagger",
+ "printWidth": 20
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index d09daa2d55e0..000000000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "recommendations": [
- "EditorConfig.EditorConfig",
- "docsmsft.docs-authoring-pack"
- ]
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index fe6da0a7d616..000000000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "node",
- "request": "launch",
- "name": "Mocha Tests",
- "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
- "args": [
- "--timeout",
- "999999",
- "--colors",
- "${workspaceFolder}/test/syntax.js"
- ],
- "internalConsoleOptions": "openOnSessionStart"
- },
- {
- "type": "node",
- "request": "launch",
- "name": "Launch Program",
- "program": "${file}"
- }
- ]
-}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 86500570ba6b..000000000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,24 +0,0 @@
-// Place your settings in this file to overwrite default and user settings.
-{
- "json.schemas":[
- {
- "fileMatch":[
- "/**/specification/*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/swagger-extensions.json"
- },
- {
- "fileMatch":[
- "/**/examples/*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/example-schema.json"
- },
- {
- "fileMatch":[
- "/**/composite*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/composite-swagger.json"
- }
- ],
- "typescript.tsdk": "node_modules\\typescript\\lib"
-}
\ No newline at end of file
diff --git a/CODEOWNERS b/CODEOWNERS
index 72b40ee95cb0..14e9cb18e880 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -9,8 +9,8 @@
/specification/batchai/ @alexanderyukhanov
/specification/billing/ @wilcobmsft
/specification/cdn/ @csmengwan @injyzarif @prakharsharma10
-/specification/cognitiveservices/ @davidlicig @felixwa @yangyuan
-/specification/compute/ @huangpf @hyonholee
+/specification/cognitiveservices/ @felixwa @yangyuan
+/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
@@ -39,11 +39,11 @@
/specification/machinelearning/ @nonstatic2014
/specification/machinelearningcompute/ @shutchings
/specification/managementpartner/ @jeffrey-ace
-/specification/mediaservices/ @brianblum
+/specification/mediaservices/ @giakas
/specification/mobileengagement/ @pshrosbree
/specification/monitor/ @gucalder
/specification/mysql/ @qingqingyuan
-/specification/network/ @MikhailTryakhov @number213
+/specification/network/ @MikhailTryakhov @number213 @solhaile @v-shhatt
/specification/notificationhubs/ @amolr @smithab
/specification/operationalinsights/ @sw47
/specification/operationsmanagement/ @dashimi16
@@ -58,7 +58,8 @@
/specification/relay/ @sethmanheim @v-ajnava
/specification/resources/ @Tiano2017 @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
-/specification/search/ @brjohnstmsft
+/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy
+/specification/search/resource-manager/ @abhi1509 @miwelsh @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
/specification/servicebus/ @sazeesha @v-ajnava
diff --git a/README.md b/README.md
index 9095d0b4f4b2..0e513616f68c 100644
--- a/README.md
+++ b/README.md
@@ -5,10 +5,12 @@
This repository is the canonical source for REST API specifications for Microsoft Azure.
## Getting started
-If you're a spec author looking for information about all of the repositories and steps in the pipeline, go to our [documentation](https://github.com/Azure/adx-documentation-pr/wiki) repository. Make sure to [join the Github Azure organization](http://aka.ms/azuregithub) to get access to that repo.
+If you're a Microsoft employee looking for information about all of the repositories and steps in the pipeline, go to our [documentation](https://github.com/Azure/adx-documentation-pr/wiki) repository. Make sure to [join the Github Azure organization](http://aka.ms/azuregithub) to get access to that repo.
Latest improvement: Microsoft employees can try out our new experience at [OpenAPI Hub](https://aka.ms/openapihub) - online experience for using our validation tools and finding your workflow.
+External Contributors can get started [here](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Getting%20started%20with%20OpenAPI%20specifications.md)
+
Please check the [announcements page](https://github.com/Azure/azure-rest-api-specs/wiki/Announcements) for any new updates since your last visit.
## Directory Structure
@@ -17,7 +19,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
@@ -80,7 +82,7 @@ The structure should appear like so:
Currently, the specifications are expected to be in Swagger JSON format
## Next steps
-The next step in the process after a spec is completed is to generate SDKs and API reference documentation. Go to the [Azure Developer Experience guide](https://github.com/Azure/adx-documentation-pr) for more information.
+The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're Microsoft employee, go to the [Azure Developer Experience guide](https://github.com/Azure/adx-documentation-pr) for more information.
---
_This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments._
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e21073678f83..68da20933d61 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,6 +1,9 @@
name: "Azure OpenAPI"
-trigger: none
+trigger:
+ branches:
+ include:
+ - master
variables:
TRAVIS: 'true'
@@ -19,6 +22,6 @@ jobs:
- 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
+- template: .azure-pipelines/PrettierCheck.yml
diff --git a/custom-words.txt b/custom-words.txt
index 378e1c2560d6..f4ac3a47c96d 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -7,6 +7,7 @@ ABFS
Accel
ACCELCONTAINER
acceptors
+accesskey
accesspoint
accountid
accountname
@@ -86,6 +87,7 @@ apimtags
apimtenant
apimusers
apimversionsets
+apitoken
APNS
appinsights
applynetworkconfigurationupdates
@@ -105,6 +107,7 @@ Asns
aspnet
asyncinfo
asyncoperation
+atascada
australiaeast
australiasoutheast
authenticatable
@@ -122,6 +125,7 @@ autogenerate
autogenerated
Autogrow
autokey
+automations
autopatching
autopool
autorest
@@ -145,6 +149,8 @@ azuredatalakestore
azuredeploy
azureedge
azurefiles
+azurehdinsight
+azureiotcentral
azuremigrate
azureml
azuresql
@@ -159,6 +165,7 @@ backends
backfilling
Backoff
backupconfig
+backupengine
backupstorageconfig
bacpac
badpassword
@@ -190,6 +197,7 @@ bingwebsearch
Bitbucket
Bitlocker
bitness
+bitrates
bitstream
biztalk
blobfuse
@@ -221,6 +229,7 @@ canceldelete
cancelpipelinerun
canonicalized
Carbonite
+carretera
catenate
catenated
caverphone
@@ -259,8 +268,10 @@ closedlist
closedlists
Cloudamize
cloudapp
+cloudproperties
cloudsimple
clustermonitoring
+clustername
Cmdkey
cmdlet
CMMI
@@ -270,7 +281,9 @@ CODEGEN
codegeneration
cognitiveservices
colls
+colocation
COLUMNSTORE
+commandshistory
commitmentplans
Compat
compilationjobs
@@ -278,6 +291,7 @@ compositeentities
computervision
CONCURRENTAPPEND
Conda
+configreferences
connectionstrings
consumergroups
containerid
@@ -289,6 +303,7 @@ containersas
containerservice
contentmoderator
continuationtoken
+continuousdataexports
continuouswebjobs
contoso
contosodataset
@@ -329,6 +344,8 @@ customvision
customvisionprediction
customvisiontraining
CUTOVER
+CVEs
+CVSS
Cyrl
databox
Databricks
@@ -399,12 +416,15 @@ deserializer
deserializing
destinationshares
deterministically
+devicecredentials
deviceprovisioningservices
+devicetemplates
devspaces
devtestlab
devtestlabs
dhcp
diagnosticcontext
+digitaltwins
DIMM
disableautoscale
disablescheduling
@@ -459,7 +479,9 @@ entrypoint
environmentsettings
errordetail
errored
+ErrorSchema
Español
+estaba
Etag
Ethereum
evaluateautoscale
@@ -481,6 +503,8 @@ exportdevices
exporterrors
exportstatus
externaldatasources
+externalDNSIPAddress01
+externalDNSIPAddress02
EYWQ
faceapi
facelists
@@ -519,6 +543,7 @@ FQDNs
Français
frontdoor
fsaction
+Fulfilment
Fulltext
fullyqualified
galician
@@ -575,6 +600,7 @@ GUID
GUIDs
GZRS
haase
+Había
hadoop
hana
hanaonazure
@@ -592,6 +618,7 @@ heatmap
HHMM
HHMMS
HHMMSS
+hierarchicals
hierarchicalentities
hierarchyid
hivevar
@@ -606,7 +633,6 @@ Hubspot
hybridconnection
hybriddata
hybriddatamanager
-hyperdrive
Hyperdrive
Hyperscale
hyperv
@@ -660,6 +686,7 @@ ipconfigurations
ipfilterrules
Ipsec
ipssl
+ipgroups
iscloneable
Iscsi
iscsiservers
@@ -693,6 +720,7 @@ JSONLD
Jtoken
jumpbox
jwts
+kafkarest
Kaliningrad
Kbps
KECA
@@ -704,6 +732,7 @@ keyvaultproperties
keyvaulturi
keyversion
KHTML
+Kiswahili
Knowledgebase
knowledgebases
koelner
@@ -740,6 +769,7 @@ lifetimepoolstats
linkedservices
linkexpiryinminutes
LISTAFTERID
+listbackups
listbyrg
listbysubscription
listcertificates
@@ -752,6 +782,7 @@ listsas
listsecrets
LISTSTATUS
listsyncfunctiontriggerstatus
+listsyncstatus
liveevent
liveoutput
loadbalancer
@@ -778,8 +809,8 @@ lpar
LQUP
LRO's
Lucene
-LUNs
Lumia
+LUNs
machinelearning
machinelearningcompute
machinelearningexperimentation
@@ -804,6 +835,7 @@ mariadb
Marketo
marketplaceagreementsapi
marketplaceordering
+MAXERRORS
maximumblobsize
maxmemory
maxpagesize
@@ -816,6 +848,7 @@ MDATP
mediaservices
Mesos
messagingplan
+Metada
metadatavalues
metaphone
metastore
@@ -851,6 +884,7 @@ MSGETACLSTATUS
MSGETFILESTATUS
MSLISTSTATUS
MSMCAZR
+mucho
multiapi
Multiclass
MULTIJSON
@@ -970,6 +1004,8 @@ osdisk
osdiskforlinuxsimple
osdiskforwindowssimple
OSMAM
+OSNIC
+Otomi
outputdirectoryid
overprovision
overprovisioned
@@ -1079,6 +1115,7 @@ qnormal
querylogs
querypool
querystring
+Queretaro
queueservices
quickbooks
quicktest
@@ -1108,6 +1145,8 @@ reconfiguring
recordset
recordsetnamesuffix
recordsets
+recoverypoint
+recoverypoints
recoveryservices
recoveryservicesbackup
recoveryservicessiterecovery
@@ -1125,6 +1164,7 @@ regionalized
regionproposals
registeredidentities
registryname
+rehydrated
Reimage
reimageall
reimaged
@@ -1169,6 +1209,7 @@ resourceregion
resourcetype
Responsys
restoreheartbeat
+Restproxy
resumable
resync
resynchronization
@@ -1185,6 +1226,7 @@ REVOKEACE
rgname
rhel
Rolledback
+Rollforward
rollouts
rolloverdetails
rootfs
@@ -1254,7 +1296,9 @@ servicemembers
servicerunners
servicestats
servicetopology
+servicetopologies
serviceunit
+serviceunits
SETACL
SETEXPIRY
setissuers
@@ -1262,6 +1306,7 @@ SETOWNER
SETPERMISSION
setsas
setvpnclientipsecparameters
+sfhealthid
sfpkg
sharded
sharedkey
@@ -1288,6 +1333,7 @@ SKU's
skus
SLES
Sllb
+slotcopy
slotsdiffs
slotsswap
slowlog
@@ -1433,12 +1479,15 @@ timestep
timezones
tinyint
Tokenizes
+tombstoned
toolchain
toolset
tooltips
+traceroute
trafficmanager
trafficmanageranalytics
trafficmanagerprofiles
+tráfico
transcoding
transcriptmoderationresult
translatortext
@@ -1557,6 +1606,7 @@ VMQS
vmsizes
VMSS
VMSSVM
+vmuuid
vmware
vmwaretools
VMXNET
@@ -1570,6 +1620,7 @@ vray
Vrops
vsphere
VSTS
+VSTSRM
VXLAN
waagent
WADL
@@ -1607,7 +1658,9 @@ Whitelistings
Whois
Widevine
windowsazuremediaservices
+windowsesu
wlmengg
+workbooktemplates
Workernode
workloadmonitor
workspace's
@@ -1620,6 +1673,7 @@ XBing
Xeon
Xero
XSMB
+Yucatec
Ywhk
YYMMDD
Zabbix
@@ -1628,3 +1682,7 @@ Zilla
ziplist
Zoho
zset
+MSAZRUSGO
+hypervcollectors
+vmwarecollectors
+updatepolicy
diff --git a/documentation/Breaking changes guidelines.md b/documentation/Breaking changes guidelines.md
new file mode 100644
index 000000000000..fb5369c8b7d0
--- /dev/null
+++ b/documentation/Breaking changes guidelines.md
@@ -0,0 +1,56 @@
+# Azure REST API version change guide
+
+## Overview
+This specification is aimed at providing guidance to Azure Service teams when making changes to the REST APIs. It is aimed at helping teams understand what kind changes to API requires updating the API version. The official Microsoft REST API guidelines can be found [here](https://github.com/Microsoft/api-guidelines). This document is meant to supplement the official guidance.
+It will be also used as a reference by SDK teams and API reviewers when reviewing APIs
+
+## Breaking Changes
+At a high level, changes to the contract of an API constitute a breaking change. Changes that impact backwards compatibility of an API is also considered a breaking change. Teams MAY define backwards compatibility as their business needs require. For example, Azure defines the addition of a new JSON field in a response to be not backwards compatible. Anything that would violate the _**Principle of Least Astonishment**_ is considered a breaking change in Azure. Below are some concrete examples of what constitutes a breaking change. In the below breaking change scenarios, the API version **must** be changed.
+
+### Existing property is removed
+If a property called "foo" was present in v1 of the API need to be removed, it should be done in a newer api-version
+Property name has changed
+
+### Property name has changed
+If a property was called “foo” in v1 of API and the name will be changed to “bar”, this requires an API-version change since this will result in a breaking change for the client.
+
+### Property type has changed
+Property “foo” was a “boolean” in v1 but is changed to a string. A client using the existing api-version tries to set it as a bool, but the service will fail since its now expecting a string. So, the api-version must be updated.
+
+### Allowed values for an enum have changed
+Enum “foo” had allowed values as “val1” and “val2” in v1 of API. If now, the values allowed/accepted by the service are “val1”, “val2” and “val3”, client will fail to de-serialize if “val3” comes back in the response.
+
+### API has been removed or renamed
+V1 of API contract supported PUT /resourceType1/{resourceType1_name} but the service no longer supports this method. This scenario should follow the proper Azure API deprecation policy and must be done in an updated api-version.
+
+### Behavior of existing API has changed
+There is a functional change in what the API was doing. This will need to be determined on a case by case basis.
+
+### Error contracts have changed
+
+### Property is made required (from optional)
+If property “foo” was optional in the request body of v1 and now it is required, this should result in an api-version change. If not changed, clients relying on older api-version will fail if this property is not passed.
+
+### URL format has changed
+Resource parameter names change from /resourceType1/{resourceType1_name} to /resourceType1/{resourceType1_id}. This will impact code generation.
+
+### New property added to response
+If a new property/field is added to the response an API, the GET-PUT pipeline will be broken. Consider the case where from portal a customer updates the value of a new property "A". Another customer does a GET of this resource using the SDK. The SDK will ignore the property since it does not understand it. From the SDK, the customer does a PUT using the model that was returned from the GET. This will overwrite the change made by the first customer from the portal.
+
+### New required property added to request
+If a new property is made required in the request body, clients will have no way to set this and the request will fail.
+
+### Resource naming rules should not change
+This could result in failures which would have earlier succeeded. Even if the rules become less strict, clients relying on earlier name constraints to perform local validation will fail.
+
+## Non-Breaking Changes
+The following changes are considered backwards compatible and hence non-breaking.
+
+### Adding new APIs to an existing service
+When a new resource types is added, it does not require API version to be updated for existing types.
+
+### Adding read-only field to response
+New property which can only be set by the server can be added to the response.
+
+### Bug fixes to existing API
+Bug fixes to existing API which don’t fall into one of the above categories of breaking changes as described above are fine
diff --git a/documentation/Getting started with OpenAPI specifications.md b/documentation/Getting started with OpenAPI specifications.md
new file mode 100644
index 000000000000..d7e8f7449dab
--- /dev/null
+++ b/documentation/Getting started with OpenAPI specifications.md
@@ -0,0 +1,23 @@
+### What is an OpenAPI Specification?
+OpenAPI Specification (formerly known as Swagger Specification) is an API description format for REST APIs. An OpenAPI file allows you to describe your entire API, including:
+* Available endpoints (/users) and operations on each endpoint (GET /users, POST /users)
+* Operation parameters input and output for each operation
+* Authentication methods
+* Contact information, license, terms of use and other information
+
+Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`.
+
+### Helpful Resources
+* **[`Understanding the GitHub flow`](https://guides.github.com/introduction/flow/)**
+* **[`Microsft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**
+* **[`Structure of a Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md)**
+* **[`Sample Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json)**
+* **[`Sample Readme.md`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/samplereadme.md)**
+* **[`Swagger style guide`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-style-cheatsheet.md)**
+* **[`Authoring good Swagger descriptions`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-authoring-descriptions.md)**
+* **[`Validation tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/SwaggerValidationTools.md)**
+ * [`Validation checks through automated tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md)
+ * [`Validation checks done manually`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-manual-guidelines.md)
+ * [`OAV Validation checks`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md)
+* **[`Breaking Changes guidelines`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Breaking%20changes%20guidelines.md)**
+* **[`x-ms-examples`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/x-ms-examples.md)**
diff --git a/documentation/SwaggerValidationTools.md b/documentation/SwaggerValidationTools.md
new file mode 100644
index 000000000000..7bfbf2b80272
--- /dev/null
+++ b/documentation/SwaggerValidationTools.md
@@ -0,0 +1,56 @@
+There are some tools that can help you make sure your specifications conform to the accepted guidelines. Better upfront validation before the final pull request is sent will result in quicker turnaround time.
+
+## Validation tools available online (for MS FTEs)
+
+The [`OpenAPI Hub`](https://aka.ms/openapihub) is a great online website to find your workflow and get access to online validation tools.
+
+Available tools:
+- [**`OpenAPI Hub Linter validation tool`**](https://portal.azure-devex-tools.com/app/tools/linter)
+- [**`OpenAPI Hub Static validation tool`**](https://portal.azure-devex-tools.com/app/tools/static-validation/static/errors/default)
+- [**`OpenAPI Hub Swagger diff tool`**](https://portal.azure-devex-tools.com/app/tools/diff)
+
+## Swagger Authoring ##
+
+VS code extension is our recommendation for authoring swaggers. In addition to having a trivial GUI, it also provides the same functionalities as the Linter tool explained below.
+
+Installation instructions available [here](https://marketplace.visualstudio.com/items?itemName=ms-vscode.autorest).
+
+An alternative to this is the [OpenAPI Initiative Swagger editor](http://editor.swagger.io/#/). This will help find basic issues in a Swagger file. However, we apply a higher bar than this validator, if this site doesn't show errors doesn't mean that your specification is ready to merge.
+
+## Validation tools available locally
+
+The various tools mentioned above are also available for local download.
+
+- Install Node.js (7.10.0 or greater)
+
+
+**Linter Validator:**
+
+ - `npm install -g autorest`
+ - `autoRest --azure-validator=true`
+
+
+**Static Validator (Semantic):**
+
+ - `npm install -g oav`
+ - `bash-3.2$ oav validate-spec `
+
+**Static Validator (Model):**
+
+ - `npm install -g oav`
+ - `bash-3.2$ oav validate-example `
+
+**Swagger diff tool**
+
+ - `npm install -g oad@0.1.7`
+ - `bash-3.2$ oad compare `
+
+## I don't agree with the reported errors, how do I suppress them? (for MS FTEs)
+
+If you believe that the errors reported are false positives or don't apply for your specs, you might consider reviewing the validation errors [suppression process](https://github.com/Azure/adx-documentation-pr/wiki/Swagger-Validation-Errors-Suppression) and request suppression of these errors.
+
+
+
+
+
+
diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md
new file mode 100644
index 000000000000..707cb739f812
--- /dev/null
+++ b/documentation/ci-fix.md
@@ -0,0 +1,23 @@
+# CI Fix Guide
+
+Here are guides to fix some of the CI failure.
+
+## Spell check
+
+Please add your words to `./custom-words.txt` if you think you have the correct spell
+
+## Prettier check
+
+Please run the following command:
+
+```
+npm install; npm run prettier-fix
+```
+
+Or if you want to fix specified service:
+
+```
+npm install; npm run prettier -- --write "specification//**/*.json"
+```
+
+Then please commit and push changes made by prettier.
diff --git a/package-lock.json b/package-lock.json
index 18eec5df7ddd..9bb5d920da32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@azure/avocado": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.1.tgz",
- "integrity": "sha512-GOdVNS/yr7wSQVUGfvR4/nP6+UDBrxqT/McvTsKuy1vWV8BwgKx3JZLB/9mrWYhXQZ257AQkVO9nepxRu9/PsQ==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.2.tgz",
+ "integrity": "sha512-DU4TD/+U0aXLjz4bGW+vxst4tXm3/HPiOrNh1BcY00rHRnRbR+ZY7AL/nA4+1P6LVPu8msLUXp6HTqqe4QrbHg==",
"dev": true,
"requires": {
"@azure/openapi-markdown": "^0.9.1",
@@ -24,9 +24,9 @@
}
},
"@azure/oad": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.6.3.tgz",
- "integrity": "sha512-GyyNcsVB8cHW8N5AYWuAh/6qTMcC5Do5o/ue2+dyO5v5iCqZTpOfk4CKZMKJck6qXquXUgdv/HzTOHJJ4Zer9w==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.7.0.tgz",
+ "integrity": "sha512-voz6Q71GmJpRAThFG5aDWqHiQCc6eL1ajAR0JqbqCsqStQdBauGkGZhOeawkNJIgHnFY3GG9GO/fWhfp36uBWg==",
"dev": true,
"requires": {
"@ts-common/fs": "^0.2.0",
@@ -88,19 +88,19 @@
}
},
"@azure/rest-api-specs-scripts": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.4.3.tgz",
- "integrity": "sha512-FlyENJxKEaMxDLHr2VVtqYJ0dppqPVQqmT/DypAskFeorQKsILH/9ffXkLptmkuAdIRff0O+MI2Q5qHSPfnyzw==",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.5.7.tgz",
+ "integrity": "sha512-KbhwZzENz5pB9Me9PxhhuqL7Lru8bmpSOWQ291buvxEYQ+ZwzvHyA0cA8yL5raXZX2IJhslc7ThtcPhAqC0hFw==",
"dev": true,
"requires": {
"@azure/avocado": "^0.4.1",
- "@azure/oad": "^0.6.3",
+ "@azure/oad": "^0.7.0",
"@octokit/rest": "^16.25.0",
"@ts-common/string-map": "^0.3.0",
"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,49 +151,50 @@
"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.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz",
+ "integrity": "sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==",
"dev": true,
"requires": {
- "deepmerge": "4.0.0",
+ "@octokit/types": "^2.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.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz",
+ "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==",
"dev": true,
"requires": {
- "@octokit/endpoint": "^5.1.0",
+ "@octokit/endpoint": "^5.5.0",
"@octokit/request-error": "^1.0.1",
+ "@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"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": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz",
- "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz",
+ "integrity": "sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==",
"dev": true,
"requires": {
+ "@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@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.34.1",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.1.tgz",
+ "integrity": "sha512-JUoS12cdktf1fv86rgrjC/RvYLuL+o7p57W7zX1x7ANFJ7OvdV8emvUNkFlcidEaOkYrxK3SoWgQFt3FhNmabA==",
"dev": true,
"requires": {
- "@octokit/request": "^5.0.0",
+ "@octokit/request": "^5.2.0",
"@octokit/request-error": "^1.0.2",
"atob-lite": "^2.0.0",
"before-after-hook": "^2.0.0",
@@ -204,8 +205,16 @@
"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"
+ }
+ },
+ "@octokit/types": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.0.1.tgz",
+ "integrity": "sha512-YDYgV6nCzdGdOm7wy43Ce8SQ3M5DMKegB8E5sTB/1xrxOdo2yS/KgUgML2N2ZGD621mkbdrAglwTyA4NDOlFFA==",
+ "dev": true,
+ "requires": {
+ "@types/node": ">= 8"
}
},
"@ts-common/add-position": {
@@ -373,6 +382,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",
@@ -400,6 +415,12 @@
"@types/node": "*"
}
},
+ "@types/prettier": {
+ "version": "1.18.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.18.3.tgz",
+ "integrity": "sha512-48rnerQdcZ26odp+HOvDGX8IcUkYOCuMc2BodWYTe956MqkHlOGAG4oFQ83cjZ0a4GAgj7mb4GUClxYd2Hlodg==",
+ "dev": true
+ },
"@types/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
@@ -407,9 +428,9 @@
"dev": true
},
"abab": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz",
- "integrity": "sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz",
+ "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==",
"dev": true
},
"abbrev": {
@@ -425,9 +446,9 @@
"dev": true
},
"acorn-globals": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz",
- "integrity": "sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
"dev": true,
"requires": {
"acorn": "^6.0.1",
@@ -609,9 +630,9 @@
"dev": true
},
"autorest": {
- "version": "2.0.4283",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4283.tgz",
- "integrity": "sha512-3jU9yDR71d2thRnKdPH03DaWbla1Iqnrx2rqUUwbMrb4di36a8+nttCQaTWG7biWPJc6Ke6zSSTzFH0uhya+Nw==",
+ "version": "2.0.4407",
+ "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4407.tgz",
+ "integrity": "sha512-keyeMDb/bVNN8hnDd8o08UC2C1OE8HRhubxksljSvKM5osHIJnoKBA1k3kD7MPAJ/+m6UjDQXci3ronxZeYy+Q==",
"dev": true
},
"aws-sign2": {
@@ -1036,9 +1057,9 @@
"dev": true
},
"core-js": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
- "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
+ "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
"dev": true
},
"core-util-is": {
@@ -1434,9 +1455,9 @@
},
"dependencies": {
"whatwg-url": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
- "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
@@ -1473,12 +1494,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",
@@ -1966,9 +1981,9 @@
"dev": true
},
"fast-safe-stringify": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz",
- "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
+ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
"dev": true
},
"fecha": {
@@ -2045,9 +2060,9 @@
"dev": true
},
"form-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.0.tgz",
- "integrity": "sha512-WXieX3G/8side6VIqx44ablyULoGruSde5PNTxoUyo5CeyAMX6nVWUd0rgist/EuX655cjhUhTo1Fo3tRYqbcA==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
@@ -2229,9 +2244,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.5.1",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
+ "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -2332,9 +2347,9 @@
"dev": true
},
"hosted-git-info": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
- "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
+ "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
"dev": true
},
"html-encoding-sniffer": {
@@ -2806,13 +2821,13 @@
"dev": true
},
"json-schema-faker": {
- "version": "0.5.0-rc17",
- "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rc17.tgz",
- "integrity": "sha512-ZQSLPpnsGiMBuPOHi09cAzhsiIeOcs5im2GAQ2P6XKyWOuetO8eYdYCP/kW7VVU891Ucan0/dl8GYbRA6pf9gw==",
+ "version": "0.5.0-rc23",
+ "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rc23.tgz",
+ "integrity": "sha512-lRzFEnp55TihRzMvUBrtvTlM/aHGhCwfes0/T9bN9OiB2n36/SUFxtMn7anYoES+f95eU3viJ/foXKosCwsiJw==",
"dev": true,
"requires": {
- "json-schema-ref-parser": "^6.0.2",
- "jsonpath": "^1.0.1",
+ "json-schema-ref-parser": "^6.1.0",
+ "jsonpath-plus": "^1.0.0",
"randexp": "^0.5.3"
}
},
@@ -2867,6 +2882,12 @@
}
}
},
+ "jsonpath-plus": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-1.1.0.tgz",
+ "integrity": "sha512-ydqTBOuLcFCUr9e7AxJlKCFgxzEQ03HjnIim0hJSdk2NxD8MOsaMOrRgP6XWEm5q3VuDY5+cRT1DM9vLlGo/qA==",
+ "dev": true
+ },
"jsonschema": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
@@ -2932,9 +2953,9 @@
}
},
"linq": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.0.tgz",
- "integrity": "sha512-rdmaLOf2tSCzZ75scdjjN/LVHGZzRu48ql9LdxppQec/pKpPtf8jlMDlPBX3rQnLMcGPtAx8Lel6YbF7jND70g==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.1.tgz",
+ "integrity": "sha512-BEhjQpbvrKPWlg5m/+PXTHsQoXzzR0UWCvgI8Hm+WtUMtTwPvw9Tay5CWfqsWSVk81wqbHNDFpFXyqBmm4/dqA==",
"dev": true
},
"load-json-file": {
@@ -3027,9 +3048,9 @@
},
"dependencies": {
"colors": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
- "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true
}
}
@@ -3111,9 +3132,9 @@
}
},
"merge2": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz",
- "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
"dev": true
},
"methods": {
@@ -3570,9 +3591,9 @@
"dev": true
},
"nwsapi": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
- "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
"dev": true
},
"oauth-sign": {
@@ -3582,21 +3603,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 +3636,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",
@@ -4179,6 +4188,12 @@
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
+ "prettier": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
+ "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
+ "dev": true
+ },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -4186,9 +4201,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": {
@@ -4208,9 +4223,9 @@
"dev": true
},
"qs": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.8.0.tgz",
- "integrity": "sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz",
+ "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==",
"dev": true
},
"randexp": {
@@ -4377,21 +4392,21 @@
}
},
"request-promise-core": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
- "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
"dev": true,
"requires": {
- "lodash": "^4.17.11"
+ "lodash": "^4.17.15"
}
},
"request-promise-native": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
- "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
"dev": true,
"requires": {
- "request-promise-core": "1.1.2",
+ "request-promise-core": "1.1.3",
"stealthy-require": "^1.1.1",
"tough-cookie": "^2.3.3"
}
@@ -5122,20 +5137,20 @@
"dev": true
},
"uglify-js": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
- "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
+ "version": "3.6.7",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.7.tgz",
+ "integrity": "sha512-4sXQDzmdnoXiO+xvmTzQsfIiwrjUCSA95rSP4SEd8tDb51W2TiDOlL76Hl+Kw0Ie42PSItCW8/t6pBNCF2R48A==",
"dev": true,
"optional": true,
"requires": {
- "commander": "~2.20.0",
+ "commander": "~2.20.3",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
"optional": true
},
@@ -5176,12 +5191,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 +5266,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,13 +5709,14 @@
}
},
"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.6",
+ "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.6.tgz",
+ "integrity": "sha512-zRzjw9Jemtj+1NwAKjE+rExnG+2fY7KMM6PJRIOb8fO+tzq7EdCdp0iZ+O79F3J+/rOXoqFs+Tqa5oVSJq5m1g==",
"dev": true,
"requires": {
"@ts-common/json": "^0.3.0",
"@ts-common/string-map": "^0.3.0",
+ "@ts-common/z-schema": "^4.1.2",
"debug": "^4.1.1",
"faker": "^4.1.0",
"istanbul": "^0.4.5",
@@ -5718,10 +5728,28 @@
"native-promise-only": "^0.8.1",
"path-to-regexp": "^1.7.0",
"swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^4.1.0"
+ "swagger-schema-official": "2.0.0-bab6bed"
},
"dependencies": {
+ "@ts-common/z-schema": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@ts-common/z-schema/-/z-schema-4.1.2.tgz",
+ "integrity": "sha512-PDMAza1jpnCpUUSSVf3LBtTyeo5s9xLQlD68gvW3B0j+RbnxYK9CHHCeLOZxBoKviBgr8+tps6ZVmUCcMSmiFw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.7.1",
+ "core-js": "^3.2.1",
+ "lodash.get": "^4.4.2",
+ "lodash.isequal": "^4.5.0",
+ "validator": "^11.0.0"
+ }
+ },
+ "core-js": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.6.tgz",
+ "integrity": "sha512-u4oM8SHwmDuh5mWZdDg9UwNVq5s1uqq6ZDLLIs07VY+VJU91i3h4f3K/pgFvtUQPGdeStrZ+odKyfyt4EnKHfA==",
+ "dev": true
+ },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -5730,6 +5758,12 @@
"requires": {
"ms": "^2.1.1"
}
+ },
+ "validator": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
+ "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==",
+ "dev": true
}
}
},
@@ -5751,24 +5785,17 @@
}
},
"z-schema": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.1.1.tgz",
- "integrity": "sha512-0aKvR9FgrghUXXndYNDmAEazl8jykuHSkqkmPw2ZSuTWuLcEscn1zUTbR3LEfyxHl5EEHpqqOpF+Sd7wZvuDxw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.1.tgz",
+ "integrity": "sha512-UWhAk5QzeIhks51TjHa6d4WexEokzbbwT+Dzq9yOBOx9sNnALo4hpYz9CfJ6IUE2cmzB0vWW3KHePYOfw3L4gQ==",
"dev": true,
"requires": {
"commander": "^2.7.1",
- "core-js": "^3.2.1",
"lodash.get": "^4.4.2",
"lodash.isequal": "^4.5.0",
"validator": "^11.0.0"
},
"dependencies": {
- "core-js": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
- "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
- "dev": true
- },
"validator": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
diff --git a/package.json b/package.json
index 48ec6018caff..682934dbd6ed 100644
--- a/package.json
+++ b/package.json
@@ -10,8 +10,9 @@
"description": "Tests for Azure REST API Specifications",
"license": "MIT",
"devDependencies": {
- "@azure/avocado": "^0.6.0",
- "@azure/rest-api-specs-scripts": "^0.4.0",
+ "@types/prettier": "^1.18.3",
+ "@azure/avocado": "^0.6.2",
+ "@azure/rest-api-specs-scripts": "^0.5.7",
"@ts-common/commonmark-to-markdown": "^1.2.0",
"@ts-common/fs": "0.2.0",
"@ts-common/iterator": "^0.3.6",
@@ -23,7 +24,8 @@
"mocha": "*",
"ts-node": "^8.1.0",
"tslib": "^1.10.0",
- "typescript": "3.5.3"
+ "typescript": "3.5.3",
+ "prettier": "^1.18.2"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
@@ -34,9 +36,12 @@
"url": "http://github.com/azure/azure-rest-api-specs/issues"
},
"scripts": {
- "postinstall": "scripts/switch-to-preproduction.sh",
+ "postinstall": "ts-node scripts/switch-to-preproduction.ts && tsc",
"test": "tsc && mocha -t 500000 --reporter min",
"spellcheck": "ts-node ./scripts/spellcheck.ts",
+ "prettier-check": "ts-node ./scripts/prettier-check.ts",
+ "prettier-fix": "prettier --write specification/**/*.json",
+ "prettier": "prettier",
"tsc": "tsc",
"multiapi": "ts-node ./scripts/multiapi.ts"
}
diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml
index 4315811071f5..d2b59829aad7 100644
--- a/preproduction-azure-pipelines.yml
+++ b/preproduction-azure-pipelines.yml
@@ -13,6 +13,5 @@ variables:
PREPRODUCTION_PIPELINE: 'true'
jobs:
-- template: .azure-pipelines/BranchProtectionForPrivateRepo.yml
- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/ModelValidation.yml
diff --git a/profile/2019-03-01-hybrid.json b/profile/2019-03-01-hybrid.json
index 004816d295d6..4c18c211609f 100644
--- a/profile/2019-03-01-hybrid.json
+++ b/profile/2019-03-01-hybrid.json
@@ -40,6 +40,26 @@
}
]
},
+ "microsoft.commerce": {
+ "2015-06-01-preview":[
+ {
+ "resourceType": "estimateResourceSpend",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "subscriberUsageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "usageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ }
+ ]
+ },
"microsoft.compute": {
"2017-12-01": [
{
@@ -114,6 +134,130 @@
}
]
},
+ "microsoft.databoxedge":{
+ "2019-08-01": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "dataBoxEdgeDevices/checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ }
+ ]
+ },
+ "microsoft.devices": {
+ "2019-07-01-preview":[
+ {
+ "resourceType": "usages",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/skus",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "IotHubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders/operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ }
+ ]
+ },
+ "microsoft.eventhubs": {
+ "2018-01-01-preview": [
+ {
+ "resourceType": "availableClusterRegions",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "clusters",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations/clusterOperations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations/namespaceOperations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "namespaces",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ }
+ ],
+ "2017-04-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/consumerGroups",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "sku",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ }
+ ],
+ "2015-08-01": [
+ {
+ "resourceType": "checkNamespaceAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2015-08-01/EventHub.json"
+ }
+ ]
+ },
"microsoft.insights": {
"2018-01-01": [
{
diff --git a/profile/2019-06-01-profile.json b/profile/2019-06-01-profile.json
index 1f2cb6b3fdde..9e41ce379840 100644
--- a/profile/2019-06-01-profile.json
+++ b/profile/2019-06-01-profile.json
@@ -1,7 +1,7 @@
{
"info": {
"name": "2019-06-01-profile",
- "description": "Profile definition targeted for hybrid applications that could run on azure gov general availability version and azure cloud"
+ "description": "Profile definition targeted for hybrid applications that could run on azure gov general availability version and azure cloud"
},
"resourcemanager": {
"Microsoft.ADHybridHealthService": {
diff --git a/profile/2019-07-01-profile.json b/profile/2019-07-01-profile.json
index c032110efdd6..364f30aa073c 100644
--- a/profile/2019-07-01-profile.json
+++ b/profile/2019-07-01-profile.json
@@ -1,7 +1,7 @@
{
"info": {
"name": "2019-07-01-profile",
- "description": "Profile definition targeted for hybrid applications that could run on azure gov general availability version and azure cloud"
+ "description": "Profile definition targeted for hybrid applications that could run on azure gov general availability version and azure cloud"
},
"resourcemanager": {
"Microsoft.ADHybridHealthService": {
diff --git a/profile/readme.md b/profile/readme.md
index b93c994e0fdf..143a9a93bc03 100644
--- a/profile/readme.md
+++ b/profile/readme.md
@@ -5,7 +5,7 @@
The files in the folder describe the map of each resource provider's resource types and their supported api versions in the api profile.
## Basics
-An API profile represents a map of resource provider namespaces and their API versions. It is a representation of an Azure Platform declaring a set of APIs to be supported across all our clouds.Instead of specifying individual api-versions for each resource type across each namespace, the developer can just align the application to a profile and the tools/SDKs will themselves select the right api-versions as directed by the profile. With API Profiles developers can specify a profile version that applies to an entire template and, at runtime, ARM will pick the right versions of the resources. This way, the customers don’t have to worry about which are the right resource versions to specific clouds.
+An API profile represents a map of resource provider namespaces and their API versions. It is a representation of an Azure Platform declaring a set of APIs to be supported across all our clouds. Instead of specifying individual api-versions for each resource type across each namespace, the developer can just align the application to a profile and the tools/SDKs will themselves select the right api-versions as directed by the profile. With API Profiles developers can specify a profile version that applies to an entire template and, at runtime, ARM will pick the right versions of the resources. This way, the customers don’t have to worry about which are the right resource versions to specific clouds.
https://docs.microsoft.com/en-us/azure/azure-stack/user/azure-stack-version-profiles
@@ -59,4 +59,4 @@ The structure should appear like below:
| \---},
\---}
}
-```
\ No newline at end of file
+```
diff --git a/scripts/prettier-check.ts b/scripts/prettier-check.ts
new file mode 100644
index 000000000000..0f2e461649fd
--- /dev/null
+++ b/scripts/prettier-check.ts
@@ -0,0 +1,22 @@
+import { runCheckOverChangedSpecFiles, logWarn, logError } from "./utils";
+
+runCheckOverChangedSpecFiles({
+ onCheckFile: (context, filePath) => {
+ return context.exec(`prettier -c ${filePath}`);
+ },
+
+ onExecError: async (result) => {
+ if (result.stdout) {
+ console.log(result.stdout);
+ }
+ },
+
+ onNotInCI: (context) => {
+ logWarn("Not in CI environment. Run against all the spec json.");
+ return context.exec(`prettier -c "specification/**/*.json"`);
+ },
+
+ onFinalFailed: async () => {
+ logError('Code style issues found in the above file(s). Please follow https://aka.ms/AA6h31t to fix the issue.')
+ }
+})
\ No newline at end of file
diff --git a/scripts/prettier-swagger-plugin.ts b/scripts/prettier-swagger-plugin.ts
new file mode 100644
index 000000000000..2d858e33e4fd
--- /dev/null
+++ b/scripts/prettier-swagger-plugin.ts
@@ -0,0 +1,92 @@
+import { ParserOptions, FastPath, Doc, doc, Plugin, AST } from 'prettier';
+import { parsers as bundledParsers } from 'prettier/parser-babylon';
+
+const { concat, indent, hardline, join } = doc.builders;
+
+// Modified from https://github.com/prettier/prettier/blob/master/src/language-js/printer-estree-json.js
+const print = (path: FastPath, _: ParserOptions, print: (path: FastPath) => Doc): Doc => {
+ const node = path.getValue();
+ switch (node.type) {
+ case "JsonRoot":
+ return concat([path.call(print, "node"), hardline]);
+ case "ArrayExpression":
+ return node.elements.length === 0
+ ? "[]"
+ : concat([
+ "[",
+ indent(
+ concat([
+ hardline,
+ join(concat([",", hardline]), path.map(print, "elements"))
+ ])
+ ),
+ hardline,
+ "]"
+ ]);
+ case "ObjectExpression":
+ return node.properties.length === 0
+ ? "{}"
+ : concat([
+ "{",
+ indent(
+ concat([
+ hardline,
+ join(concat([",", hardline]), path.map(print, "properties"))
+ ])
+ ),
+ hardline,
+ "}"
+ ]);
+ case "ObjectProperty":
+ return concat([path.call(print, "key"), ": ", path.call(print, "value")]);
+ case "UnaryExpression":
+ return concat([
+ node.operator === "+" ? "" : node.operator,
+ path.call(print, "argument")
+ ]);
+ case "NullLiteral":
+ return "null";
+ case "BooleanLiteral":
+ return node.value ? "true" : "false";
+ case "StringLiteral":
+ return JSON.stringify(node.value);
+ case "NumericLiteral":
+ // Modified: Keep numeric literal as-is
+ return node.extra.raw;
+ case "Identifier":
+ return JSON.stringify(node.name);
+ default:
+ /* istanbul ignore next */
+ throw new Error("unknown type: " + JSON.stringify(node.type));
+ }
+}
+
+const preprocess = (ast: AST, _: any): AST => {
+ return Object.assign({}, ast, {
+ type: "JsonRoot",
+ node: ast,
+ comments: []
+ });
+}
+
+export const languages: Plugin['languages'] = [
+ {
+ name: 'json-swagger',
+ extensions: ['.json'],
+ parsers: ['json-swagger']
+ }
+]
+
+export const parsers = {
+ 'json-swagger': {
+ ...bundledParsers['json-stringify'],
+ astFormat: 'estree-swagger-customized'
+ }
+};
+
+export const printers = {
+ 'estree-swagger-customized': {
+ preprocess,
+ print
+ }
+};
diff --git a/scripts/spellcheck.ts b/scripts/spellcheck.ts
index 17c411f3e115..357e943f238e 100644
--- a/scripts/spellcheck.ts
+++ b/scripts/spellcheck.ts
@@ -1,68 +1,25 @@
-import { devOps, cli, childProcess } from '@azure/avocado';
-import { ExecOptions } from 'child_process';
+import { logError, logWarn, runCheckOverChangedSpecFiles } from './utils';
-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;
-}
+runCheckOverChangedSpecFiles({
+ onCheckFile: (context, filePath) => {
+ return context.exec(`cspell ${filePath}`);
+ },
-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;
+ onExecError: async (result) => {
+ if (result.stdout) {
+ logError(result.stdout);
}
- }
+ if (result.stderr) {
+ console.error(result.stderr);
+ }
+ },
- return retCode;
-}
+ onNotInCI: (context) => {
+ logWarn("Not in CI environment. Run against all the spec json.");
+ return context.exec(`cspell "specification/**/*.json"`);
+ },
-main().then(retCode => {
- if (retCode !== 0) {
+ onFinalFailed: async () => {
logError('Please fix the error or add words to ./custom-words.txt');
}
- process.exit(retCode);
-});
+})
\ No newline at end of file
diff --git a/scripts/switch-to-preproduction.sh b/scripts/switch-to-preproduction.sh
deleted file mode 100755
index fa7bc3d26ab4..000000000000
--- a/scripts/switch-to-preproduction.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-[ -z "$PREPRODUCTION_PIPELINE" ] || {
- echo "Switch to preproduction package.json"
- cp -f .azure-pipelines-preproduction/package.json ./package.json
- cp -f .azure-pipelines-preproduction/package-lock.json ./package-lock.json
- PREPRODUCTION_PIPELINE= npm ci
-}
diff --git a/scripts/switch-to-preproduction.ts b/scripts/switch-to-preproduction.ts
new file mode 100644
index 000000000000..45697f0acb12
--- /dev/null
+++ b/scripts/switch-to-preproduction.ts
@@ -0,0 +1,22 @@
+import process from 'process';
+import fs from 'fs';
+import childProcess from 'child_process';
+
+function main() {
+ if (!process.env.PREPRODUCTION_PIPELINE) {
+ return;
+ }
+
+ console.log('Switch to preproduction package.json');
+ fs.copyFileSync('.azure-pipelines-preproduction/package.json', 'package.json');
+ fs.copyFileSync('.azure-pipelines-preproduction/package-lock.json', 'package-lock.json');
+
+ childProcess.execSync('npm ci', {
+ env: {
+ ...process.env,
+ PREPRODUCTION_PIPELINE: ''
+ }
+ });
+}
+
+main();
diff --git a/scripts/utils.ts b/scripts/utils.ts
new file mode 100644
index 000000000000..3ffddc3d736a
--- /dev/null
+++ b/scripts/utils.ts
@@ -0,0 +1,81 @@
+import { ExecOptions } from 'child_process';
+import { childProcess, cli, devOps } from '@azure/avocado';
+
+export const logToAzureDevops = (msg: string, type: string) => {
+ const lines = msg.split('\n');
+ for (const line of lines) {
+ console.log(`##vso[task.logissue type=${type}]${line}`);
+ }
+}
+
+export const logError = (msg: string) => logToAzureDevops(msg, 'error');
+export const logWarn = (msg: string) => logToAzureDevops(msg, 'warning');
+
+export type Exec = (commandLine: string, options?: ExecOptions) => Promise;
+export type CheckContext = {
+ exec: Exec;
+};
+export type CheckOptions = {
+ onExecError(result: childProcess.ExecResult): Promise;
+ onNotInCI(context: CheckContext): Promise;
+ onCheckFile(context: CheckContext, filePath: string): Promise;
+ onFinalFailed(context: CheckContext): Promise;
+}
+
+const internalCheck = async (checkOptions: CheckOptions) => {
+
+ const exec = 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;
+ }
+ await checkOptions.onExecError(result);
+
+ return result.code;
+ }
+ const context: CheckContext = { exec };
+
+ const config = cli.defaultConfig();
+ const pr = await devOps.createPullRequestProperties(config);
+ if (pr === undefined) {
+ return checkOptions.onNotInCI(context);
+ }
+
+ const changedJsonFiles = (await pr.diff())
+ .filter(change => change.kind !== 'Deleted')
+ .map(change => change.path)
+ .filter(filePath => filePath.endsWith('.json') && filePath.startsWith('specification/'));
+ if (changedJsonFiles.length === 0) {
+ logWarn("No changed spec json file");
+ return;
+ }
+
+ let retCode = 0;
+ for (const jsonFile of changedJsonFiles) {
+ const code = await checkOptions.onCheckFile(context, jsonFile);
+ if (code !== 0) {
+ retCode = code;
+ }
+ }
+
+ if (retCode !== 0) {
+ await checkOptions.onFinalFailed(context);
+ }
+
+ process.exit(retCode);
+}
+
+export const runCheckOverChangedSpecFiles = (options: CheckOptions) => {
+ internalCheck(options).catch(e => {
+ console.error(e);
+ logError(`Fatal Error. Please report to adxsr@microsoft.com`);
+ process.exit(-1);
+ });
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
index fba1aeae905d..18d7c396724d 100644
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
@@ -23,7 +23,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.advisor
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-advisor
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2017-03
+ - tag: package-2016-07-preview
+```
+
+### Tag: package-2017-04 and java
+
+These settings apply only when `--tag=package-2017-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.advisor.v2017_04_19
+ output-folder: $(azure-libraries-for-java-folder)/sdk/advisor/mgmt-v2017_04_19
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-03 and java
+
+These settings apply only when `--tag=package-2017-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.advisor.v2017_03_31
+ output-folder: $(azure-libraries-for-java-folder)/sdk/advisor/mgmt-v2017_03_31
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2016-07-preview and java
+
+These settings apply only when `--tag=package-2016-07-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2016-07-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.advisor.v2016_07_12_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/advisor/mgmt-v2016_07_12_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index b9f5292cb02a..19b78bb8ac9b 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Advisor.
-
-
---
+
## Getting Started
+
To build the SDK for Advisor, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,21 +15,29 @@ To build the SDK for Advisor, simply [Install AutoRest](https://aka.ms/autorest/
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Advisor API.
``` yaml
openapi-type: arm
-tag: package-2017-04
+tag: package-2020-01
```
+### Tag: package-2020-01
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-01'
+input-file:
+ - Microsoft.Advisor/stable/2020-01-01/advisor.json
+```
### Tag: package-2017-04
These settings apply only when `--tag=package-2017-04` is specified on the command line.
@@ -57,10 +65,9 @@ input-file:
- Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -77,7 +84,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
```
-
## Python
These settings apply only when `--python` is specified on the command line.
@@ -95,11 +101,13 @@ python:
package-version: 1.0.1
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -127,69 +135,9 @@ csharp:
## 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.advisor
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-advisor
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2017-03
- - tag: package-2017-04
- - tag: package-2016-07-preview
-```
-
-### Tag: package-2017-03 and java
+See configuration in [readme.java.md](./readme.java.md)
-These settings apply only when `--tag=package-2017-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.advisor.v2017_03_31
- output-folder: $(azure-libraries-for-java-folder)/advisor/resource-manager/v2017_03_31
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-04 and java
-
-These settings apply only when `--tag=package-2017-04 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-04' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.advisor.v2017_04_19
- output-folder: $(azure-libraries-for-java-folder)/advisor/resource-manager/v2017_04_19
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2016-07-preview and java
-
-These settings apply only when `--tag=package-2016-07-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2016-07-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.advisor.v2016_07_12_preview
- output-folder: $(azure-libraries-for-java-folder)/advisor/resource-manager/v2016_07_12_preview
-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.
@@ -201,17 +149,17 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json
- $(this-folder)/Microsoft.Advisor/preview/2016-07-12-preview/advisor.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:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/advisor/resource-manager/readme.typescript.md b/specification/advisor/resource-manager/readme.typescript.md
index 0bc1a0164ca7..6281961a7703 100644
--- a/specification/advisor/resource-manager/readme.typescript.md
+++ b/specification/advisor/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-advisor"
output-folder: "$(typescript-sdks-folder)/sdk/advisor/arm-advisor"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/alertsmanagement/resource-manager/readme.cli.md b/specification/alertsmanagement/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..045547609823
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.cli.md
@@ -0,0 +1,31 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ namespace: azure.mgmt.alertsmanagement
+ test-scenario:
+ - name: PutActionRule
+ - name: Create or update a Smart Detector alert rule
+ - name: Get a Smart Detector alert rule
+ - name: GetActionRuleById
+ - name: List alert rules
+ - name: GetActionRulesResourceGroupWide
+ - name: Resolve
+ - name: Get
+ - name: Resolve
+ - name: List Smart Detector alert rules
+ - name: GetById
+ - name: Summary
+ - name: List
+ - name: GetActionRulesSubscriptionWide
+ - name: ListAlerts
+ - name: MonService
+ - name: Patch alert rules
+ - name: PatchActionRule
+ - name: changestate
+ - name: Resolve
+ - name: Delete a Smart Detector alert rule
+ - name: DeleteActionRule
+```
diff --git a/specification/alertsmanagement/resource-manager/readme.java.md b/specification/alertsmanagement/resource-manager/readme.java.md
index ffdebe30586c..242d24295b33 100644
--- a/specification/alertsmanagement/resource-manager/readme.java.md
+++ b/specification/alertsmanagement/resource-manager/readme.java.md
@@ -30,7 +30,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-10-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
### Tag: package-2019-02-01-preview and go
These settings apply only when `--tag=package-2019-02-01-preview --go` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.java.md b/specification/appconfiguration/resource-manager/readme.java.md
index 930e52f3b904..b8c72208580f 100644
--- a/specification/appconfiguration/resource-manager/readme.java.md
+++ b/specification/appconfiguration/resource-manager/readme.java.md
@@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appconfiguration
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2019-10-01 and java
+
+These settings apply only when `--tag=package-2019-10-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag)=='package-2019-10-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appconfiguration.v2019_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appconfiguration/mgmt-v2019_10_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2019-02-01-preview and java
These settings apply only when `--tag=package-2019-02-01-preview --java` is specified on the command line.
@@ -27,7 +41,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-01-preview/$(namespace)
+```
diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md
new file mode 100644
index 000000000000..789e47493698
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.java.md
@@ -0,0 +1,33 @@
+## 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.appplatform
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-05-01-preview
+```
+
+### Tag: package-2019-05-01-preview and java
+
+These settings apply only when `--tag=package-2019-05-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appplatform.v2019_05_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2019_05_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
new file mode 100644
index 000000000000..2a1d933b2910
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.md
@@ -0,0 +1,124 @@
+# AppPlatform
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for AppPlatform.
+
+
+
+---
+## Getting Started
+To build the SDK for AppPlatform, 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 AppPlatform API.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-05-01-preview
+```
+
+### Suppression
+
+``` yaml
+directive:
+ - suppress: EnumInsteadOfBoolean
+ from: appplatform.json
+ where: $.definitions.NameAvailability.properties.nameAvailable
+ reason: The boolean properties 'nameAvailable' is actually boolean value defined by Azure API spec
+ - suppress: EnumInsteadOfBoolean
+ from: appplatform.json
+ where: $.definitions.Dimension.properties.toBeExportedForShoebox
+ reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics
+```
+
+### Tag: package-2019-05-01-preview
+
+These settings apply only when `--tag=package-2019-05-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-05-01-preview'
+input-file:
+- Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.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-net
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform']
+```
+
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ # last generated with AutoRest.0.17.3
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.AppPlatform
+ output-folder: $(csharp-sdks-folder)/appplatform/Microsoft.Azure.Management.AppPlatform/src/Generated
+ clear-output-folder: 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.AppPlatform/preview/2019-05-01-preview/appplatform.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/appplatform/resource-manager/readme.nodejs.md b/specification/appplatform/resource-manager/readme.nodejs.md
new file mode 100644
index 000000000000..62380c288ae2
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-arm-appplatform
+ output-folder: $(node-sdks-folder)/lib/services/appplatformManagement
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md
new file mode 100644
index 000000000000..5e8d38718850
--- /dev/null
+++ b/specification/appplatform/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.appplatform
+ package-name: azure-mgmt-appplatform
+ package-version: 0.2.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform
+```
diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..827034b2477a
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.ruby.md
@@ -0,0 +1,26 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_mgmt_appplatform
+package-version: "0.17.0"
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2019-05-01-preview
+```
+
+### Tag: package-2019-05-01-preview and ruby
+
+These settings apply only when `--tag=package-2019-05-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-01-preview' && $(ruby)
+namespace: "Azure::AppPlatform::Mgmt::V2019_05_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib
+```
diff --git a/specification/appplatform/resource-manager/readme.typescript.md b/specification/appplatform/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..41364ec19329
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-appplatform"
+ output-folder: "$(typescript-sdks-folder)/sdk/appplatform/arm-appplatform"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
new file mode 100644
index 000000000000..ef1c4cb174af
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
@@ -0,0 +1,407 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AttestationClient",
+ "description": "Describes the interface for the per-tenant enclave service.",
+ "version": "2018-09-01-preview"
+
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{tenantBaseUrl}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "tenantBaseUrl",
+ "x-ms-parameter-location": "client",
+ "description": "The tenant name, for example https://mytenant.attest.azure.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/operations/policy/updatepolicy": {
+ "post": {
+ "tags": [
+ "policy"
+ ],
+ "summary": "Accepts a new policy document and returns a JWT which expresses used in preparation to set attestation policy.",
+ "operationId": "Policy_PrepareToSet",
+ "consumes": [ "text/plain" ],
+ "produces": [ "text/plain", "application/json" ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "PolicyJws",
+ "in": "body",
+ "description": "JSON Web Signature (See RFC7515) expressing the new policy",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success - Returns a JWT signed by the metadata signing key that contains the hash of the supplied policy to be set.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdatePolicy": {
+ "$ref": "./examples/UpdatePolicy.json"
+ }
+ }
+ }
+ },
+ "/operations/policy/current": {
+ "get": {
+ "tags": [
+ "policy"
+ ],
+ "summary": "Retrieves the current policy for a given kind of TEE.",
+ "operationId": "Policy_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AttestationPolicy"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Policy": {
+ "$ref": "./examples/Get_Policy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "policy"
+ ],
+ "summary": "Sets the policy for a given kind of TEE.",
+ "operationId": "Policy_Set",
+ "consumes": [ "text/plain" ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "newAttestationPolicy",
+ "in": "body",
+ "description": "JWT Expressing the new policy",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Set Policy": {
+ "$ref": "./examples/Set_Policy.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "policy"
+ ],
+ "summary": "Resets the attestation policy for the specified tenant and reverts to the default policy.",
+ "operationId": "Policy_Reset",
+ "consumes": [ "text/plain" ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "PolicyJws",
+ "in": "body",
+ "description": "JSON Web Signature with an empty policy document",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success - Returns a JWT signed by the metadata signing key that contains the hash of the supplied policy to be set.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Reset_Policy.json"
+ }
+ }
+ }
+ },
+ "/certs": {
+ "get": {
+ "tags": [
+ "attestation"
+ ],
+ "summary": "Retrieves the OpenID Configuration data for the Azure Attestation Service",
+ "description": "Retrieves attestation signing keys in use by the attestation service",
+ "operationId": "Certs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "400": {
+ "description": "Error processing the request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Get_Certs.json"
+ }
+ }
+ }
+ },
+ "/.well-known/openid-configuration": {
+ "get": {
+ "tags": [
+ "attestation"
+ ],
+ "summary": "Retrieves the OpenID Configuration data for the Azure Attestation Service",
+ "description": "Retrieves metadata about the attestation signing keys in use by the attestation service",
+ "operationId": "MetadataConfiguration_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "400": {
+ "description": "Error processing the request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Get_MetadataConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from Attestation."
+ },
+ "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."
+ }
+ },
+ "description": "An error response from Attestation."
+ },
+ "AttestationPolicy": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "String-encoded attestation policy document.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version.",
+ "enum": ["2018-09-01-preview"]
+ },
+ "TeeKind": {
+ "description": "Specifies the trusted execution environment to be used to validate the evidence",
+ "name": "tee",
+ "in": "query",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-enum": {
+ "name": "TeeKind",
+ "modelAsString": true,
+ "values":
+ [
+ { "value": "SgxEnclave", "description": "Intel Software Guard eXtensions" },
+ { "value": "OpenEnclave", "description": "OpenEnclave extensions to SGX" },
+ { "value": "CyResComponent", "description": "IoT Edge validation" },
+ { "value": "AzureGuest", "description": "Azure Guest Attestation" }
+ ]
+ },
+ "enum": [
+ "SgxEnclave",
+ "OpenEnclave",
+ "CyResComponent",
+ "AzureGuest"
+ ]
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json
new file mode 100644
index 000000000000..4f025f9bb19b
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keys": [
+ {
+ "x5c": [
+ "MIIDazCCAlOgAwIBAgIQR8q7RtYeX6RHhpcFE6HNGDANBgkqhkiG9w0BAQsFADA/MT0wOwYDVQQDEzRodHRwczovL3Rlc3RhdHRlc3RhdGlvbjk5MzQudXMudGVzdC5hdHRlc3QuYXp1cmUubmV0MB4XDTE5MTIxMDAwNDY0OFoXDTIwMTIxMDAwNDY0OFowPzE9MDsGA1UEAxM0aHR0cHM6Ly90ZXN0YXR0ZXN0YXRpb245OTM0LnVzLnRlc3QuYXR0ZXN0LmF6dXJlLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v9qLRt313zyzvF3dbPK6AcVO61RhTpRpnlnttwsGIK9A03Rb2bhJLrNsEOHvAPLgSPQWYNrNoeO/X9f9N2w18oZ9ReUIFOj0L0V/trOTYhJJ42f4zsCFz6iX8klqY1vE29y8YL+beqvjXg/8aLaTgs48I+R0coEuJECNADqIL8TCn+UzP1o2tTiH7EKGEG8qpiWRyC25Yl59EITpKrn78v/VMDF6RWkx5uetYDWBXeHi0l48k1lo38BOVOXhJPJvuCKeTSF1Oew7yTsR1QrVviOsnexOTAPtvINYXkLnDzbguNbTfs5FS3RzV017M7kcL3XC+x4B7HkrpvYKUuzsCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgIEMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIvByEw07sUvWMMQwiVoU5kDb09eMB8GA1UdIwQYMBaAFIvByEw07sUvWMMQwiVoU5kDb09eMA0GCSqGSIb3DQEBCwUAA4IBAQBM+itN5ZPTA7aRzzfnRNVIoixVrege/jPd5r9caHAQdhdOYy/TOxtpTkxYuP+pvlh/8e3F1zV/72iLjZCUYVQQLTRJ9BenF/AA4YJA2y/48UNHm9c+RauUB/KaxfMUolMQ9rkhGYxMBYhq1N3BitJ0m4WlPVzA0eVf1+UMARocasDUDkfmzAj4MAnee9oIBYOLaHe4La5DrLR7MV5v85rkP5Ed/oqznkyKcDT/OPSE3zwVy18BW6GskeLQ+kaTK/7MZM7nnsHO86Wpvjr4EkZZViupIlj/yQED6vWWnR41mCEN/P3MSoKYK1OQtdyhr0sow+CNSjZxz0ndWj7U6Rq1"
+ ],
+ "kid": "fAFUDjo0GcezSay/DP2z+LcPe4g/yjCUUAg88BXbDGw=",
+ "kty": "RSA"
+ },
+ {
+ "x5c": [
+ "MIIDcDCCAligAwIBAgIQAMxeVti2SRWf2t71dDYmaTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypBdHRlc3RhdGlvblNlcnZpY2UtTG9jYWxUZXN0LVJlcG9ydFNpZ25pbmcwHhcNMTkwNDI0MTYwMjUwWhcNMjEwNDI0MTYxMjUwWjA1MTMwMQYDVQQDEypBdHRlc3RhdGlvblNlcnZpY2UtTG9jYWxUZXN0LVJlcG9ydFNpZ25pbmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCww8VBqpnKDXo6W+DJbYOXP3BPIFFQi8XnHC59fIco08l7XLwr6mCY+Zzh9qInAENV7fzRJPt4hluCLoUb1vmTY9VdrvSgR5fX4nALJ4FuCFOeLzsxD+5+jP6L0KOT+Lz/3K5s26QaWv4SCNhEz2vI2ffO31AC5w4qfvV+QTK0pI8t9NoW0Afldd7F0E2UowFLHtwVV4lVBtGszvFiIo4X/NpRkj/8e4/0cQdmFlQFFtP/xKg9XP25EZTHrvsmLHSl3tG1F31Om9qsakkL4plTxaOosn71GzyU6BWIh8ZQgSszyTrY8qw0h8KNAot2v3RQrNVYWAxugYVnHhPspofXAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRQCw4UHmsEwWMJKvERNt2nUVnaIDAdBgNVHQ4EFgQUUAsOFB5rBMFjCSrxETbdp1FZ2iAwDQYJKoZIhvcNAQELBQADggEBAJogTjVhZvG85eig5Qkqt72Hpm4YR9d06UYrwo8nQKoRLsOWW01ySOn7phGvb3dxEyXQmTe10U2x1X1gsGFqnXETXGX11oHnDCWtPk4hK+uVI3Uv2qlX1134nUGoicZb2nRicyUSh8+VHY0ZuOmUs95v+HEMIsEM12AbwWZRKB0+MTAW+4cXSR9LTxRm1pwLS+wKd4A2PYi4TLuO6erZBhZ4BbvmsQtdOaulsUJYWvF72fX+jGQF4WS3qiuN4QaI6Tm/ga3Dcgdfd2oBHePTkxLE252zxlKGZ8kx/WdOuVm/1F24e0fC5M67vlFJvq9VB9I+ElMcGponp8REzQamAIU="
+ ],
+ "kid": "81dsh2B8UUKHZ2JXSOQn-VwfQMU",
+ "kty": "RSA"
+ }
+ ]
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json
new file mode 100644
index 000000000000..b02fafa04c45
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "response_types_supported": [
+ "token",
+ "none"
+ ],
+ "id_token_signing_alg_values_supported": [
+ "RS256"
+ ],
+ "revocation_endpoint": "https://mytest.attest.azure.net/revoke",
+ "jwks_uri": "https://mytest.attest.azure.net/certs",
+ "claims_supported": [
+ "is-debuggable",
+ "sgx-mrsigner",
+ "sgx-mrenclave",
+ "product-id",
+ "svn",
+ "tee",
+ "device_id",
+ "component_0_id",
+ "expected_components"
+ ]
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json
new file mode 100644
index 000000000000..fb0da08d47a4
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "policy": "testpolicy"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json
new file mode 100644
index 000000000000..dc1b591b21d4
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "PolicyJws": "eyJhbGciOiJub25lIn0.."
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jZXJ0cyIsICJraWQiOiAieWtJd00rcnRNcnhFZkZJVHY2TGZjVG03eWszUkxXRXBkN1lsZmJyTk1JST0iLCAidHlwIjogIkpXVCJ9.eyJhYXMtcG9saWN5SGFzaCI6ICJ2MG9QNG9KWkVKWnh4SXhFNmJiVVAxa1JSbWVfZXgtUHV4NlF0c1U4STdNIiwgImV4cCI6IDE1NzM4NjI5NzQsICJpYXQiOiAxNTczODU5Mzc0LCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsICJuYmYiOiAxNTczODU5Mzc0fQ.FTMpKwZHJa5l9_Mdxl60FtSDOr9kLRDYw3UAofMXJ-eOEvm4FdNM69YHR6Oy_i1uUEnVDAnMHhR0APTXgKqoR7gDxxfJG_RgiQqsTmQ-ucmXNL2Ck--sH3bz9OfIocPYSN0FBWiq6fgG6iX_oMX1hs-ENsF7B3jSp1nVL8NWtWk"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json
new file mode 100644
index 000000000000..dfa783bcea50
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "newAttestationPolicy": "newAttestationPolicyname"
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json
new file mode 100644
index 000000000000..eec66be114fd
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "PolicyJws": "eyJhbGciOiJub25lIn0.eyJBdHRlc3RhdGlvblBvbGljeSI6ICJ7XHJcbiAgICBcIiR2ZXJzaW9uXCI6IDEsXHJcbiAgICBcIiRhbGxvdy1kZWJ1Z2dhYmxlXCIgOiB0cnVlLFxyXG4gICAgXCIkY2xhaW1zXCI6W1xyXG4gICAgICAgIFwiaXMtZGVidWdnYWJsZVwiICxcclxuICAgICAgICBcInNneC1tcnNpZ25lclwiLFxyXG4gICAgICAgIFwic2d4LW1yZW5jbGF2ZVwiLFxyXG4gICAgICAgIFwicHJvZHVjdC1pZFwiLFxyXG4gICAgICAgIFwic3ZuXCIsXHJcbiAgICAgICAgXCJ0ZWVcIixcclxuICAgICAgICBcIk5vdERlYnVnZ2FibGVcIlxyXG4gICAgXSxcclxuICAgIFwiTm90RGVidWdnYWJsZVwiOiB7XCJ5ZXNcIjp7XCIkaXMtZGVidWdnYWJsZVwiOnRydWUsIFwiJG1hbmRhdG9yeVwiOnRydWUsIFwiJHZpc2libGVcIjpmYWxzZX19LFxyXG4gICAgXCJpcy1kZWJ1Z2dhYmxlXCIgOiBcIiRpcy1kZWJ1Z2dhYmxlXCIsXHJcbiAgICBcInNneC1tcnNpZ25lclwiIDogXCIkc2d4LW1yc2lnbmVyXCIsXHJcbiAgICBcInNneC1tcmVuY2xhdmVcIiA6IFwiJHNneC1tcmVuY2xhdmVcIixcclxuICAgIFwicHJvZHVjdC1pZFwiIDogXCIkcHJvZHVjdC1pZFwiLFxyXG4gICAgXCJzdm5cIiA6IFwiJHN2blwiLFxyXG4gICAgXCJ0ZWVcIiA6IFwiJHRlZVwiXHJcbn0ifQ."
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jZXJ0cyIsICJraWQiOiAieWtJd00rcnRNcnhFZkZJVHY2TGZjVG03eWszUkxXRXBkN1lsZmJyTk1JST0iLCAidHlwIjogIkpXVCJ9.eyJhYXMtcG9saWN5SGFzaCI6ICJ2MG9QNG9KWkVKWnh4SXhFNmJiVVAxa1JSbWVfZXgtUHV4NlF0c1U4STdNIiwgImV4cCI6IDE1NzM4NjI5NzQsICJpYXQiOiAxNTczODU5Mzc0LCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsICJuYmYiOiAxNTczODU5Mzc0fQ.FTMpKwZHJa5l9_Mdxl60FtSDOr9kLRDYw3UAofMXJ-eOEvm4FdNM69YHR6Oy_i1uUEnVDAnMHhR0APTXgKqoR7gDxxfJG_RgiQqsTmQ-ucmXNL2Ck--sH3bz9OfIocPYSN0FBWiq6fgG6iX_oMX1hs-ENsF7B3jSp1nVL8NWtWk"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/readme.md b/specification/attestation/data-plane/readme.md
new file mode 100644
index 000000000000..1963b714e4da
--- /dev/null
+++ b/specification/attestation/data-plane/readme.md
@@ -0,0 +1,107 @@
+# Attestation
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Attestation.
+
+
+
+---
+## Getting Started
+To build the SDK for Attestation, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+Following are the settings for using this specification with [AutoRest](https://aka.ms/autorest) tool to validation and optionally generate SDK.
+
+### Suppression
+
+``` yaml
+directive:
+ - suppress: R3023
+ from: attestation.json
+ reason: This is the attestation data plane APIs, this rule is not applicable
+```
+
+### Basic Information
+These are the global settings for the Attestation APIs.
+
+``` yaml
+openapi-type: arm
+tag: package-2018-09-preview
+```
+
+### Tag: package-2018-09-preview
+
+These settings apply only when `--tag=package-2018-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-09-preview'
+input-file:
+- Microsoft.Attestation/preview/2018-09-01-preview/attestation.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
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+---
+## 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.Attestation
+ output-folder: $(csharp-sdks-folder)/attestation/Microsoft.Azure.Attestation/src/Generated
+ clear-output-folder: 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.Attestation/preview/2018-09-01-preview/attestation.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/attestation/data-plane/readme.python.md b/specification/attestation/data-plane/readme.python.md
new file mode 100644
index 000000000000..edcb0a792127
--- /dev/null
+++ b/specification/attestation/data-plane/readme.python.md
@@ -0,0 +1,27 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.attestation
+ package-name: azure-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-attestation/azure/attestation
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/attestation/azure-attestation
+```
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 91497bfe111d..bbee9ff59cd9 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
@@ -423,6 +423,10 @@
"attestationPolicy": {
"type": "string",
"description": "Name of attestation policy."
+ },
+ "policySigningCertificates": {
+ "description": "JSON Web Key Set defining a set of X.509 Certificates that will represent the parent certificate for the signing certificate used for policy operations",
+ "$ref": "../../../../../common-types/rfcs/rfc7517.json#/definitions/JSONWebKeySet"
}
}
}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
index b3e4b9d1fc53..e222f28aa981 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
@@ -1,17 +1,16 @@
{
"parameters": {
- "resourceGroupName": "sample-resource-group",
- "serviceName": "sampleservicename",
+ "resourceGroupName": "MyResourceGroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "providername1",
+ "providerName": "MyAttestationProvider",
"creationParams": "test"
},
"responses": {
"200": {
"body": {
- "id": "subscriptions/subscriptionID/resourceGroups/resourceGroupID/providers/Microsoft.Attestation/attestationProviders/codes1",
- "name": "codes1",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
+ "name": "MyAttestationProvider",
"type": "Microsoft.Attestation/attestationProviders",
"properties": {
"status": "Ready",
@@ -21,8 +20,8 @@
},
"201": {
"body": {
- "id": "subscriptions/subscriptionID/resourceGroups/resourceGroupID/providers/Microsoft.Attestation/attestationProviders/codes1",
- "name": "codes1",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
+ "name": "MyAttestationProvider",
"type": "Microsoft.Attestation/attestationProviders",
"properties": {
"status": "Ready",
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
index 2b4a5c9d7fe5..3659e54a0f78 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
@@ -1,10 +1,9 @@
{
"parameters": {
- "resourceGroupName": "sample-resource-group",
- "serviceName": "sampleservicename",
+ "resourceGroupName": "MyResourceGroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "providername1"
+ "providerName": "MyAttestationProvider"
},
"responses": {
"202": {
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
index 946007d64975..4df31a7c93e9 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
@@ -1,16 +1,15 @@
{
"parameters": {
- "resourceGroupName": "sample-resource-group",
- "serviceName": "sampleservicename",
+ "resourceGroupName": "MyResourceGroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "providername1"
+ "providerName": "MyAttestationProvider"
},
"responses": {
"200": {
"body": {
- "id": "subscriptions/subscriptionID/resourceGroups/resourceGroupID/providers/Microsoft.Attestation/attestationProviders/codes1",
- "name": "codes1",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
+ "name": "MyAttestationProvider",
"type": "Microsoft.Attestation/attestationProviders",
"properties": {
"status": "Ready"
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
index f1ebf8dc62e3..4ab27be179e5 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
@@ -8,8 +8,8 @@
"body": {
"value": [
{
- "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/codes1",
- "name": "codes1",
+ "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
+ "name": "MyAttestationProvider",
"type": "Microsoft.Attestation/attestationProviders",
"properties": {
"status": "Ready"
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
index de5c9261b48d..7e19bb3bcb1b 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
@@ -9,8 +9,8 @@
"body": {
"value": [
{
- "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/codes1",
- "name": "codes1",
+ "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
+ "name": "MyAttestationProvider",
"type": "Microsoft.Attestation/attestationProviders",
"properties": {
"status": "Ready"
diff --git a/specification/attestation/resource-manager/readme.cli.md b/specification/attestation/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c1990d90a9d8
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.cli.md
@@ -0,0 +1,17 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: attestation
+ package-name: azure-mgmt-attestation
+ namespace: azure.mgmt.attestation
+ test-setup:
+ - name: Operations_List
+ - name: AttestationProviders_Create
+ - name: AttestationProviders_Get
+ - name: AttestationProviders_List
+ - name: AttestationProviders_ListByResourceGroup
+ - name: AttestationProviders_Delete
+```
diff --git a/specification/attestation/resource-manager/readme.go.md b/specification/attestation/resource-manager/readme.go.md
new file mode 100644
index 000000000000..2e19399e1ee5
--- /dev/null
+++ b/specification/attestation/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: attestation
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-09-preview
+```
+
+### Tag: package-2018-09-preview and go
+
+These settings apply only when `--tag=package-2018-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-09-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index 90db381404b1..f6640479ed02 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -50,6 +50,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-go
```
## Python
@@ -71,6 +72,9 @@ csharp:
clear-output-folder: true
```
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/authorization/resource-manager/readme.java.md b/specification/authorization/resource-manager/readme.java.md
index b60b3d715d8a..1a68efeda702 100644
--- a/specification/authorization/resource-manager/readme.java.md
+++ b/specification/authorization/resource-manager/readme.java.md
@@ -29,7 +29,7 @@ Please also specify `--azure-libraries-for-java-folder=\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
}
}
}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getRunbookDraftContent.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getRunbookDraftContent.json
index 13530844117f..362002ecc781 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getRunbookDraftContent.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getRunbookDraftContent.json
@@ -11,7 +11,7 @@
"headers": {
"Content-Type": "text/powershell"
},
- "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: \/\/aka.ms\/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
}
}
}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/replaceRunbookDraftContent.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/replaceRunbookDraftContent.json
index 44dd0fcc84e0..bdd4c1e4beb7 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/replaceRunbookDraftContent.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/replaceRunbookDraftContent.json
@@ -5,7 +5,7 @@
"automationAccountName": "ContoseAutomationAccount",
"runbookName": "Get-AzureVMTutorial",
"api-version": "2015-10-31",
- "runbookContent": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: \/\/aka.ms\/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n #>\r\n workflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "runbookContent": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n #>\r\n workflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
},
"responses": {
"202": {
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookContent.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookContent.json
index 3b302bd2a268..90664fb2eaa5 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookContent.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookContent.json
@@ -11,7 +11,7 @@
"headers": {
"Content-Type": "text/powershell"
},
- "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: \/\/aka.ms\/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
}
}
}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookDraftContent.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookDraftContent.json
index 3b302bd2a268..90664fb2eaa5 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookDraftContent.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/getRunbookDraftContent.json
@@ -11,7 +11,7 @@
"headers": {
"Content-Type": "text/powershell"
},
- "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: \/\/aka.ms\/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "body": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n#>\r\nworkflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
}
}
}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/replaceRunbookDraftContent.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/replaceRunbookDraftContent.json
index 14fe1a06cfd3..e46d7b30ddf8 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/replaceRunbookDraftContent.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2018-06-30/examples/replaceRunbookDraftContent.json
@@ -5,7 +5,7 @@
"automationAccountName": "ContoseAutomationAccount",
"runbookName": "Get-AzureVMTutorial",
"api-version": "2018-06-30",
- "runbookContent": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: \/\/aka.ms\/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n #>\r\n workflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
+ "runbookContent": "<#\r\n .DESCRIPTION\r\n An example runbook which prints out the first10 Azure VMs in your subscription (ordered alphabetically).\r\n For more information about how this runbook authenticates to your Azure subscription, see our documentation here: http: //aka.ms/fxu3mn\r\n\r\n .NOTES\r\n AUTHOR: Azure Automation Team\r\n LASTEDIT: Mar27,\r\n 2015\r\n #>\r\n workflow Get-AzureVMTutorial{\r\n #The name of the Automation Credential Asset this runbook will use to authenticate to Azure.\r\n $CredentialAssetName = 'DefaultAzureCredential'\r\n\r\n #Get the credential with the above name from the Automation Asset store\r\n $Cred = Get-AutomationPSCredential -Name $CredentialAssetName\r\n if(!$Cred){\r\n Throw\"Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account.\"\r\n }\r\n\r\n #Connect to your Azure Account\r\n $Account = Add-AzureAccount -Credential $Cred\r\n if(!$Account){\r\n Throw\"Could not authenticate to Azure using the credential asset '${CredentialAssetName}'. Make sure the user name and password are correct.\"\r\n }\r\n\r\n #TODO (optional): pick the right subscription to use. Without this line, the default subscription for your Azure Account will be used.\r\n #Select-AzureSubscription -SubscriptionName\"TODO: your Azure subscription name here\"\r\n \r\n #Get all the VMs you have in your Azure subscription\r\n $VMs = Get-AzureVM\r\n\r\n #Print out up to10 of those VMs\r\n if(!$VMs){\r\n Write-Output\"No VMs were found in your subscription.\"\r\n } else{\r\n Write-Output $VMs[0..9\r\n ]\r\n }\r\n }"
},
"responses": {
"202": {
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index 31b4b001db2f..94ff48b474e3 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -255,7 +255,7 @@ Please also specify `--azure-libraries-for-java=Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
",
+ "publisherDisplayName": "Canonical",
+ "publisherIdentifier": "Canonical",
+ "provisioningState": "Downloading",
+ "offer": "UbuntuServer",
+ "offerVersion": "1.0.6",
+ "sku": "17.10",
+ "billingPartNumber": "",
+ "galleryItemIdentity": "Canonical.UbuntuServer1710-ARM.1.0.6",
+ "iconUris": {
+ "large": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Large.png",
+ "wide": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Wide.png",
+ "medium": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Medium.png",
+ "small": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Small.png"
+ },
+ "links": [
+ {
+ "displayName": "Linux VM Documentation",
+ "uri": "https://docs.microsoft.com/azure/virtual-machines/linux/"
+ },
+ {
+ "displayName": "Ubuntu Documentation",
+ "uri": "https://help.ubuntu.com/17.10/index.html"
+ },
+ {
+ "displayName": "FAQ",
+ "uri": "https://help.ubuntu.com/community/ServerFaq"
+ },
+ {
+ "displayName": "Pricing details",
+ "uri": "http://azure.microsoft.com/en-us/pricing/details/virtual-machines/#linux"
+ }
+ ],
+ "legalTerms": "http://www.ubuntu.com/project/about-ubuntu/licensing",
+ "privacyPolicy": "http://www.ubuntu.com/aboutus/privacypolicy",
+ "payloadLength": 32212288186,
+ "productKind": "VirtualMachine",
+ "productProperties": {
+ "version": "17.10.201801090"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "displayName": "Ubuntu Server 17.10",
+ "description": "Ubuntu Server 17.10 amd64 20180109 Public Azure, 20180109 Azure China, 20180109 Azure Germany. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 17.10 will be available until July 2018. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
",
+ "publisherDisplayName": "Canonical",
+ "publisherIdentifier": "Canonical",
+ "provisioningState": "Downloading",
+ "offer": "UbuntuServer",
+ "offerVersion": "1.0.6",
+ "sku": "17.10",
+ "billingPartNumber": "",
+ "galleryItemIdentity": "Canonical.UbuntuServer1710-ARM.1.0.6",
+ "iconUris": {
+ "large": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Large.png",
+ "wide": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Wide.png",
+ "medium": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Medium.png",
+ "small": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Small.png"
+ },
+ "links": [
+ {
+ "displayName": "Linux VM Documentation",
+ "uri": "https://docs.microsoft.com/azure/virtual-machines/linux/"
+ },
+ {
+ "displayName": "Ubuntu Documentation",
+ "uri": "https://help.ubuntu.com/17.10/index.html"
+ },
+ {
+ "displayName": "FAQ",
+ "uri": "https://help.ubuntu.com/community/ServerFaq"
+ },
+ {
+ "displayName": "Pricing details",
+ "uri": "http://azure.microsoft.com/en-us/pricing/details/virtual-machines/#linux"
+ }
+ ],
+ "legalTerms": "http://www.ubuntu.com/project/about-ubuntu/licensing",
+ "privacyPolicy": "http://www.ubuntu.com/aboutus/privacypolicy",
+ "payloadLength": 32212288186,
+ "productKind": "VirtualMachine",
+ "productProperties": {
+ "version": "17.10.201801090"
+ }
+ }
+ }
+ },
"404": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
new file mode 100644
index 000000000000..0f24730ed82f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
@@ -0,0 +1,204 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/actionPlans": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the list of action plans": {
+ "$ref": "./examples/ActionPlan/List.json"
+ }
+ },
+ "description": "Gets the list of action plans",
+ "tags": [
+ "ActionPlans"
+ ],
+ "operationId": "ActionPlans_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionPlanList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/actionPlans/{planId}": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the specified action plan": {
+ "$ref": "./examples/ActionPlan/Get.json"
+ }
+ },
+ "description": "Gets the specified action plan",
+ "tags": [
+ "ActionPlans"
+ ],
+ "operationId": "ActionPlans_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionPlanResourceEntity"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ActionPlanList": {
+ "description": "List of action plans",
+ "properties": {
+ "value": {
+ "description": "Array of action plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionPlanResourceEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Continuation token"
+ }
+ }
+ },
+ "ActionPlanResourceEntity": {
+ "type": "object",
+ "description": "Action Plan Resource Entity",
+ "properties": {
+ "properties": {
+ "description": "Action Plan Properties",
+ "$ref": "#/definitions/ActionPlanAdminProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "Entity tag of the resource",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ActionPlanAdminProperties": {
+ "type": "object",
+ "description": "Action Plan Properties",
+ "properties": {
+ "actionPlanUri": {
+ "description": "Action plan uri",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "The target resource group name",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The target subscription identifier",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "The deployment parameters in JToken format",
+ "type": "object",
+ "$ref": "Deployment.json#/definitions/JTokenString"
+ },
+ "startTime": {
+ "description": "The deployment start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The deployment end time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "error": {
+ "description": "Error Information",
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ },
+ "provisioningState": {
+ "description": "The provisioning state",
+ "type": "string"
+ },
+ "actionPlanInstanceId": {
+ "description": "Action plan instance identifier",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "Blob container name storing the deployment data",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "PlanIdParameter": {
+ "description": "Identifier of the action plan.",
+ "name": "planId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
new file mode 100644
index 000000000000..9de1d44fcdc7
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
@@ -0,0 +1,233 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/actionPlans/{planId}/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Lists the action plan operations": {
+ "$ref": "./examples/ActionPlanOperations/List.json"
+ }
+ },
+ "description": "Lists the action plan operations",
+ "tags": [
+ "ActionPlanOperations"
+ ],
+ "operationId": "ActionPlanOperations_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionPlanOperationsList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/actionPlans/{planId}/operations/{operationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the specified action plan operation": {
+ "$ref": "./examples/ActionPlanOperations/Get.json"
+ }
+ },
+ "description": "Gets the specified action plan operation",
+ "tags": [
+ "ActionPlanOperations"
+ ],
+ "operationId": "ActionPlanOperations_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionPlanOperationResourceEntity"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ActionPlanOperationsList": {
+ "description": "List of action plan operations",
+ "properties": {
+ "value": {
+ "description": "Array of action plan operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionPlanOperationResourceEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Continuation token"
+ }
+ }
+ },
+ "ActionPlanOperationResourceEntity": {
+ "type": "object",
+ "description": "Action Plan Operation Resource Entity",
+ "properties": {
+ "properties": {
+ "description": "Action Plan Properties",
+ "$ref": "#/definitions/ActionPlanOperationAdminProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "Entity tag of the resource",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ActionPlanOperationAdminProperties": {
+ "description": "Action Plan Operation Properties",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "The operation title",
+ "type": "string"
+ },
+ "description": {
+ "description": "The operation description",
+ "type": "string"
+ },
+ "type": {
+ "description": "The action plan operation type",
+ "$ref": "#/definitions/ActionType"
+ },
+ "subscriptionId": {
+ "description": "The target subscription identifier",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "The deployment parameters in JToken format",
+ "type": "object"
+ },
+ "startTime": {
+ "description": "The deployment start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The deployment end time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "outputs": {
+ "description": "The action plan operation outputs in JToken format",
+ "type": "object"
+ },
+ "error": {
+ "description": "Error Information",
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ },
+ "provisioningState": {
+ "description": "The provisioning state",
+ "type": "string"
+ },
+ "actionPlanInstanceId": {
+ "description": "Action plan instance identifier",
+ "type": "string"
+ },
+ "actionPlanOperationId": {
+ "description": "Action plan operation identifier",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "Blob container name storing the deployment data",
+ "type": "string"
+ }
+ }
+ },
+ "ActionType": {
+ "description": "Action plan operation type",
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "PlanIdParameter": {
+ "description": "Identifier of the action plan.",
+ "name": "planId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "description": "Identifier of the action plan operation.",
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
new file mode 100644
index 000000000000..8d0057c40a0b
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
@@ -0,0 +1,212 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Deployment.Admin/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ },
+ "description": "Returns the list of supported REST operations.",
+ "tags": [
+ "Deployment"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Object model of azure resource manager base.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "Type of Resource.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExtendedErrorInfo": {
+ "description": "Error information",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error Code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error Message",
+ "type": "string"
+ },
+ "details": {
+ "description": "Error message details",
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "JTokenString": {
+ "description": "Error information",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Parameters as JToken string",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Describes the supported REST operation.",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object. This name should match the name that appears in RBAC or the event service.",
+ "type": "string"
+ },
+ "display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "$ref": "#/definitions/Display"
+ },
+ "origin": {
+ "description": "Origin for the operation. Eg. User, System",
+ "type": "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "properties": {
+ "provider": {
+ "description": "The localized, friendly version of the resource provider name. The provider name is expected to include the name of the publisher or company responsible. The provider name format should use title case and begin with \"Microsoft\" for first-party services. For example, the provider name may be\"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "List of Operations",
+ "properties": {
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page of operations.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2019-01-01"
+ },
+ "LocationParameter": {
+ "description": "Location of the resource.",
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "default": "2019-01-01"
+ },
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "description": "The product identifier.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
new file mode 100644
index 000000000000..282c10ba7140
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
@@ -0,0 +1,322 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers": {
+ "get": {
+ "x-ms-examples": {
+ "Return file containers list.": {
+ "$ref": "./examples/FileContainer/List.json"
+ }
+ },
+ "description": "Returns an array of file containers.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainersList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/{fileContainerId}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the file container details.": {
+ "$ref": "./examples/FileContainer/Get.json"
+ }
+ },
+ "description": "Retrieves the specific file container details.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "404": {
+ "description": "Not Found"
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a new file container.": {
+ "$ref": "./examples/FileContainer/Create.json"
+ }
+ },
+ "description": "Creates a new file container.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_Create",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerParameters"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Deletes specified file container.": {
+ "$ref": "examples/FileContainer/Delete.json"
+ }
+ },
+ "tags": [
+ "FileContainers"
+ ],
+ "summary": "Deletes specified file container.",
+ "description": "Delete an existing file container.",
+ "operationId": "FileContainers_Delete",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "404": {
+ "description": "Not found"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FileContainer": {
+ "type": "object",
+ "description": "File container entity.",
+ "properties": {
+ "properties": {
+ "description": "File Container properties",
+ "$ref": "#/definitions/FileContainerAdminProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "FileContainerAdminProperties": {
+ "description": "File Container Properties.",
+ "type": "object",
+ "properties": {
+ "fileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "$ref": "#/definitions/FileContainerId"
+ },
+ "sourceUri": {
+ "description": "The remote file location. This is write-only property, DRP never returns it back to a user.",
+ "$ref": "#/definitions/SourceUri"
+ },
+ "uri": {
+ "description": "The file or container Uri. This is read-only property; a user cannot set it.",
+ "type": "string"
+ },
+ "postCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "$ref": "#/definitions/PostCopyAction"
+ },
+ "error": {
+ "description": "The error response message.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "FileContainersList": {
+ "description": "List of file containers.",
+ "properties": {
+ "value": {
+ "description": "List of file containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation token.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorInfo": {
+ "description": "Extended Error Information.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "The detailed error messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ }
+ },
+ "PostCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Unzip"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PostCopyAction"
+ }
+ },
+ "SourceUri": {
+ "description": "Specifies The remote file location.",
+ "type": "string"
+ },
+ "FileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "type": "string"
+ },
+ "FileContainerParameters": {
+ "description": "Parameters for creating a new file container.",
+ "type": "object",
+ "properties": {
+ "postCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "$ref": "#/definitions/PostCopyAction"
+ },
+ "sourceUri": {
+ "description": "Specifies The remote file location.",
+ "$ref": "#/definitions/SourceUri"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FileContainerIdParameter": {
+ "description": "The file container identifier.",
+ "name": "fileContainerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "FileContainerParameters": {
+ "description": "The parameters required to create a new file container.",
+ "name": "fileContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FileContainerParameters"
+ },
+ "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/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
new file mode 100644
index 000000000000..7402634f6765
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
@@ -0,0 +1,565 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments": {
+ "get": {
+ "x-ms-examples": {
+ "List the product deployments": {
+ "$ref": "./examples/ProductDeployment/List.json"
+ }
+ },
+ "description": "Invokes bootstrap action on the product deployment",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/ProductDeploymentsList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the specified product deployment": {
+ "$ref": "./examples/ProductDeployment/Get.json"
+ }
+ },
+ "description": "Invokes bootstrap action on the product deployment",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/ProductDeploymentResourceEntity"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/bootstrap": {
+ "post": {
+ "x-ms-examples": {
+ "Invokes bootstrap action on the product deployment": {
+ "$ref": "./examples/ProductDeployment/Bootstrap.json"
+ }
+ },
+ "description": "Invokes bootstrap action on the product deployment",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_BootStrap",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "ProductDeployment.json#/parameters/BootstrapActionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/deploy": {
+ "post": {
+ "x-ms-examples": {
+ "Invokes deploy action on the product": {
+ "$ref": "./examples/ProductDeployment/Deploy.json"
+ }
+ },
+ "description": "Invokes deploy action on the product",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_Deploy",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "ProductDeployment.json#/parameters/DeployActionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/remove": {
+ "post": {
+ "x-ms-examples": {
+ "Invokes remove action on the product deployment": {
+ "$ref": "./examples/ProductDeployment/Remove.json"
+ }
+ },
+ "description": "Invokes remove action on the product deployment",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_Remove",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/rotateSecrets": {
+ "post": {
+ "x-ms-examples": {
+ "Invokes rotate secrets action on the product deployment": {
+ "$ref": "./examples/ProductDeployment/RotateSecrets.json"
+ }
+ },
+ "description": "Invokes rotate secrets action on the product deployment",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_RotateSecrets",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/unlock": {
+ "post": {
+ "x-ms-examples": {
+ "Unlocks the product subscription": {
+ "$ref": "./examples/ProductDeployment/Unlock.json"
+ }
+ },
+ "description": "Unlocks the product subscription",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_Unlock",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "ProductDeployment.json#/parameters/UnlockActionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/lock": {
+ "post": {
+ "x-ms-examples": {
+ "locks the product subscription": {
+ "$ref": "./examples/ProductDeployment/Lock.json"
+ }
+ },
+ "description": "locks the product subscription",
+ "tags": [
+ "ProductDeployments"
+ ],
+ "operationId": "ProductDeployments_Lock",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProductDeploymentsList": {
+ "description": "List of Product Deployments.",
+ "properties": {
+ "value": {
+ "description": "List of Product Deployments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductDeploymentResourceEntity"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductDeploymentResourceEntity": {
+ "type": "object",
+ "description": "Product deployment entity",
+ "properties": {
+ "properties": {
+ "description": "Product deployment resource properties",
+ "$ref": "#/definitions/ProductDeploymentsProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "entity tag",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ProductDeploymentsProperties": {
+ "type": "object",
+ "description": "Product deployment resource properties",
+ "properties": {
+ "status": {
+ "description": "Status of the product deployment.",
+ "$ref": "#/definitions/DeploymentStatus"
+ },
+ "subscriptionId": {
+ "description": "The product subscription identifier",
+ "type": "string"
+ },
+ "deployment": {
+ "description": "The current deployment information",
+ "$ref": "#/definitions/DeploymentInfo"
+ },
+ "lastSuccessfulDeployment": {
+ "description": "The last successful deployment information",
+ "$ref": "#/definitions/DeploymentInfo"
+ },
+ "secretRotation": {
+ "description": "Resource provider secret rotation information",
+ "$ref": "#/definitions/SecretRotationInfo"
+ },
+ "internalState": {
+ "description": "Product deployment resource internal state",
+ "$ref": "#/definitions/ProductDeploymentsInternalState"
+ },
+ "error": {
+ "description": "Error Information",
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ },
+ "externalAccess": {
+ "description": "Resource provider secret rotation information",
+ "$ref": "#/definitions/ExternalAccessInfo"
+ },
+ "provisioningState": {
+ "description": "The provisioning state",
+ "type": "string"
+ },
+ "productId": {
+ "description": "The product identifier",
+ "type": "string"
+ }
+ }
+ },
+ "DeploymentStatus": {
+ "description": "Status of an operation.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Bootstrapping",
+ "BootstrapSucceeded",
+ "BootstrapFailed",
+ "Deploying",
+ "DeploymentSucceeded",
+ "DeploymentFailed",
+ "Updating",
+ "UpdateSucceeded",
+ "UpdateFailed",
+ "Removing",
+ "RemoveFailed",
+ "SecretRotationInProgress",
+ "SecretRotationSucceeded",
+ "SecretRotationFailed",
+ "Migrated"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentStatus",
+ "modelAsString": true
+ }
+ },
+ "DeploymentInfo": {
+ "type": "object",
+ "description": "Resource provider deployment information",
+ "properties": {
+ "version": {
+ "description": "The product version",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "The latest deployment parameters as JToken",
+ "type": "string"
+ },
+ "actionPlanInstanceResourceId": {
+ "description": "The identifier of the latest action plan instance resource.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "entity tag",
+ "type": "string"
+ }
+ }
+ },
+ "SecretRotationInfo": {
+ "type": "object",
+ "description": "Resource provider deployment information",
+ "properties": {
+ "secretRotationPlanInstanceResourceId": {
+ "description": "The identifier of the latest secret rotation plan instance resource.",
+ "type": "string"
+ }
+ }
+ },
+ "ExternalAccessInfo": {
+ "type": "object",
+ "description": "Resource provider deployment information",
+ "properties": {
+ "principalId": {
+ "description": "The object identifier of the user, group or service principal that have access to resource provider subscription.",
+ "type": "string"
+ },
+ "expirationTime": {
+ "description": "The deployment start time",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "ProductDeploymentsInternalState": {
+ "type": "object",
+ "description": "Resource type internal state",
+ "properties": {
+ "jobId": {
+ "description": "The latest deployment job identifier",
+ "type": "string"
+ },
+ "intermediateVaultId": {
+ "description": "The intermediate vault resource identifier",
+ "type": "string"
+ },
+ "intermediateVaultUri": {
+ "description": "The intermediate vault Uri.",
+ "type": "string"
+ },
+ "externalAccessRoleAssignmentId": {
+ "description": "The current external access role assignment identifier",
+ "type": "string"
+ }
+ }
+ },
+ "DeployActionParameters": {
+ "description": "Parameters for deploy action",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Generic Version object",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "Deployment parameters, value in JToken",
+ "type": "string"
+ }
+ }
+ },
+ "BootStrapActionParameters": {
+ "description": "Parameters for bootstrap action",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Generic Version object",
+ "type": "string"
+ }
+ }
+ },
+ "UnlockActionParameters": {
+ "description": "Parameters for bootstrap action",
+ "type": "object",
+ "properties": {
+ "duration": {
+ "description": "Duration in TimeSpan format(Define which ISO format)",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceGroupParameter": {
+ "description": "The resource group the resource is located under.",
+ "name": "resourceGroup",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "BootstrapActionParameter": {
+ "description": "Represents bootstrap action parameter",
+ "name": "bootstrapActionParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BootStrapActionParameters"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "UnlockActionParameter": {
+ "description": "Represents bootstrap action parameter",
+ "name": "unlockActionParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnlockActionParameters"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "DeployActionParameter": {
+ "description": "Represents bootstrap action parameter",
+ "name": "deployActionParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeployActionParameters"
+ },
+ "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/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
new file mode 100644
index 000000000000..472aecdd40a0
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
@@ -0,0 +1,270 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages": {
+ "get": {
+ "x-ms-examples": {
+ "Return product packages list.": {
+ "$ref": "./examples/ProductPackage/List.json"
+ }
+ },
+ "description": "Returns an array of product packages.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackagesList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the product package details.": {
+ "$ref": "./examples/ProductPackage/Get.json"
+ }
+ },
+ "description": "Retrieves the specific product package details.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "404": {
+ "description": "Not Found"
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a new product package.": {
+ "$ref": "./examples/ProductPackage/Create.json"
+ }
+ },
+ "description": "Creates a new product package.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Create",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Removes a product package.": {
+ "$ref": "./examples/ProductPackage/Delete.json"
+ }
+ },
+ "description": "Deletes a product package.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Delete",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "404": {
+ "description": "Not found"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ProductPackage": {
+ "description": "Properties for a product package.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a product package.",
+ "$ref": "#/definitions/ProductPackageProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ProductPackagesList": {
+ "description": "List of product packages.",
+ "properties": {
+ "value": {
+ "description": "List of product packages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation Token.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductPackageProperties": {
+ "type": "object",
+ "description": "Properties for Product package.",
+ "properties": {
+ "fileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "$ref": "#/definitions/FileContainerId"
+ },
+ "isDeployable": {
+ "description": "Value indicating whether the package is applicable for deployment.",
+ "type": "boolean"
+ },
+ "isUpdatable": {
+ "description": "Value indicating whether the package is applicable for update.",
+ "type": "boolean"
+ },
+ "productDeploymentId": {
+ "description": "The identifier of product deployment; null if this version is not installed.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "FileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "type": "string"
+ },
+ "ProductProperties": {
+ "description": "Additional properties of the product",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the product",
+ "type": "string"
+ }
+ }
+ },
+ "ProductLink": {
+ "description": "Link to a product.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Displayed name of product.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "URI to product.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductLinks": {
+ "description": "List of product links.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductLink"
+ }
+ }
+ },
+ "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/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
new file mode 100644
index 000000000000..3d2c2693a1d9
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
@@ -0,0 +1,513 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "adminmanagement.local.azurestack.external",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}/secrets": {
+ "get": {
+ "x-ms-examples": {
+ "Return product secrets list.": {
+ "$ref": "./examples/ProductSecret/List.json"
+ }
+ },
+ "description": "Returns an array of product secrets.",
+ "tags": [
+ "ProductSecrets"
+ ],
+ "operationId": "ProductSecrets_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductSecretsList"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the product package details.": {
+ "$ref": "./examples/ProductSecret/Get.Json"
+ }
+ },
+ "description": "Retrieves the specific product secret details.",
+ "tags": [
+ "ProductSecrets"
+ ],
+ "operationId": "ProductSecrets_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SecretNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductSecret"
+ }
+ },
+ "404": {
+ "description": "Not Found"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/import": {
+ "post": {
+ "x-ms-examples": {
+ "Imports a product secret.": {
+ "$ref": "./examples/ProductSecret/Import.json"
+ }
+ },
+ "description": "Imports a product secret.",
+ "tags": [
+ "ProductSecrets"
+ ],
+ "operationId": "ProductSecrets_Import",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SecretNameParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SecretParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Accepted"
+ },
+ "404": {
+ "description": "Not Found"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/validate": {
+ "post": {
+ "x-ms-examples": {
+ "Validates a product secret.": {
+ "$ref": "./examples/ProductSecret/Validate.json"
+ }
+ },
+ "description": "Validates a product secret.",
+ "tags": [
+ "ProductSecrets"
+ ],
+ "operationId": "ProductSecrets_Validate",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SecretNameParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SecretParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Accepted"
+ },
+ "404": {
+ "description": "Not Found"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "ProductSecret": {
+ "description": "Properties for a product secret.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a product secret.",
+ "$ref": "#/definitions/ProductSecretProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ProductSecretsList": {
+ "description": "List of product secrets.",
+ "properties": {
+ "value": {
+ "description": "List of product secrets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductSecret"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductSecretProperties": {
+ "type": "object",
+ "description": "Properties of product secret.",
+ "properties": {
+ "secretState": {
+ "description": "The secret state.",
+ "$ref": "#/definitions/SecretState"
+ },
+ "secretDescriptor": {
+ "description": "The secret type-specific descriptor.",
+ "$ref": "#/definitions/SecretDescriptor"
+ },
+ "expiresAfter": {
+ "description": "The expiration period of the secret (in ISO8601 format).",
+ "type": "string"
+ },
+ "description": {
+ "description": "The secret description.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ },
+ "secretKind": {
+ "description": "Specifies the secret kind.",
+ "type": "string",
+ "enum": [
+ "AdHoc",
+ "Certificate",
+ "Password",
+ "StorageAccount",
+ "SymmetricKey"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SecretKind"
+ }
+ }
+ }
+ },
+ "SecretDescriptor": {
+ "description": "The secret type-specific descriptor.",
+ "type": "object",
+ "properties": {
+ "keyLength": {
+ "description": "The key length.",
+ "type": "integer"
+ },
+ "alternativeDnsNames": {
+ "description": "Alternative DNS Names.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AlternativeDnsNames"
+ }
+ },
+ "secondaryKeyIsActive": {
+ "description": "A value indicating whether the secondary or primary storage account key is active as a secret.",
+ "type": "boolean"
+ },
+ "rotationStatus": {
+ "description": "The storage account key secret rotation status.",
+ "type": "string",
+ "enum": [
+ "None",
+ "PlantNewSak",
+ "RotateInactiveSak",
+ "Complete"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RotationStatus"
+ }
+ },
+ "passwordLength": {
+ "description": "The minimum password length is 8 characters, and the maximum password length is 128 characters.",
+ "type": "integer"
+ },
+ "allowedCharacters": {
+ "description": "The allowed characters in the password",
+ "type": "string"
+ },
+ "passwordValidationRegex": {
+ "description": "Password validation regular expression.",
+ "type": "string"
+ },
+ "subject": {
+ "description": "Certificate's subject",
+ "type": "string"
+ },
+ "alternativeIpAddresses": {
+ "description": "The list of alternative IP addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AlternativeIpAddresses"
+ }
+ }
+ }
+ },
+ "AlternativeDnsNames": {
+ "description": "List of alternative DNS names.",
+ "type": "string"
+ },
+ "AlternativeIpAddresses": {
+ "description": "List of alternative IP Addresses.",
+ "type": "string"
+ },
+ "SecretState": {
+ "description": "Represents the secret state.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The secret status.",
+ "$ref": "#/definitions/SecretStatus"
+ },
+ "rotationStatus": {
+ "description": "the secret rotation status.",
+ "$ref": "#/definitions/SecretRotationStatus"
+ },
+ "expirationDate": {
+ "description": "The secret expiration date.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "SecretStatus": {
+ "description": "Specifies the secret status.",
+ "type": "string",
+ "enum": [
+ "NotUploaded",
+ "Uploaded",
+ "Deployed"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SecretStatus"
+ }
+ },
+ "SecretRotationStatus": {
+ "description": "Specifies the secret rotation status.",
+ "type": "string",
+ "enum": [
+ "None",
+ "InProgress",
+ "Complete"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SecretRotationStatus"
+ }
+ },
+ "SecretValue": {
+ "description": "The secret value in a secure string format.",
+ "type": "string"
+ },
+ "PfxFileName": {
+ "description": "The pfx certificate file location.",
+ "type": "string"
+ },
+ "PfxPassword": {
+ "description": "The pfx certificate file password as a secure string.",
+ "type": "string"
+ },
+ "SymmetricKey": {
+ "description": "The symmetric key as a secure string.",
+ "type": "string"
+ },
+ "Password": {
+ "description": "The password as a secure string.",
+ "type": "string"
+ },
+ "SecretParameters": {
+ "description": "Parameters required for creating/updating a product secret.",
+ "type": "object",
+ "properties": {
+ "secretValue": {
+ "description": "The secret value in a secure string format.",
+ "$ref": "#/definitions/SecretValue"
+ },
+ "pfxFileName": {
+ "description": "The pfx certificate file location.",
+ "$ref": "#/definitions/PfxFileName"
+ },
+ "pfxPassword": {
+ "description": "The pfx certificate file password.",
+ "$ref": "#/definitions/PfxPassword"
+ },
+ "symmetricKey": {
+ "description": "The symmetric key.",
+ "$ref": "#/definitions/SymmetricKey"
+ },
+ "password": {
+ "description": "The pfx certificate file password.",
+ "$ref": "#/definitions/Password"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SecretNameParameter": {
+ "description": "The secret name.",
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SecretParameters": {
+ "description": "The parameters required for creating/updating a product secret.",
+ "name": "secretParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretParameters"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SecretValueParameter": {
+ "description": "The secret value in a secure string format.",
+ "name": "secretValue",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretValue"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PfxFileNameParameter": {
+ "description": "The pfx certificate file location.",
+ "name": "pfxFileName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PfxFileName"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PfxPasswordParameter": {
+ "description": "The pfx certificate file password.",
+ "name": "pfxPasswordParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PfxPassword"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SymmetricKeyParameter": {
+ "description": "The symmetric key.",
+ "name": "SymmetricKeyParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SymmetricKey"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PasswordParameter": {
+ "description": "The password.",
+ "name": "PasswordParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Password"
+ },
+ "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/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json
new file mode 100644
index 000000000000..bd293cc207e7
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "planId": "5f7d40b0-c504-4ebe-9db2-6f906d0faf6e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans",
+ "properties": {
+ "actionPlanUri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/Deployment/DeploymentPlan.json",
+ "subscriptionId": "ca13578c-6d3b-4478-b63e-a65c89601d86",
+ "resourceGroupName": "Microsoft.NullProvider",
+ "parameters": {},
+ "startTime": "2019-10-15T19:29:22.6861068Z",
+ "endTime": "2019-10-15T19:36:29.5214075Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json
new file mode 100644
index 000000000000..9dcd1b396f30
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "planId": "5f7d40b0-c504-4ebe-9db2-6f906d0faf6e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans",
+ "properties": {
+ "actionPlanUri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/Deployment/DeploymentPlan.json",
+ "subscriptionId": "ca13578c-6d3b-4478-b63e-a65c89601d86",
+ "resourceGroupName": "Microsoft.NullProvider",
+ "parameters": {},
+ "startTime": "2019-10-15T19:29:22.6861068Z",
+ "endTime": "2019-10-15T19:36:29.5214075Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ },
+ "404": {}
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json
new file mode 100644
index 000000000000..916645557aa5
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "planId": "5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "operationId": "DeploySubOwnerResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/DeploySubOwnerResources",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/DeploySubOwnerResources",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Deploy Subscription Owner RG",
+ "description": "Script demonstrating how to deploy resources from subscription owner access.",
+ "type": "Script",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ },
+ "result": true
+ },
+ "startTime": "2019-10-15T19:35:23.8889341Z",
+ "endTime": "2019-10-15T19:36:29.4432822Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ },
+ "result": true
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/List.json
new file mode 100644
index 000000000000..90e650806121
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/List.json
@@ -0,0 +1,447 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "planId": "5f7d40b0-c504-4ebe-9db2-6f906d0faf6e",
+ "operationId": "DeploySubOwnerResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/DeploySubOwnerResources",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/DeploySubOwnerResources",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Deploy Subscription Owner RG",
+ "description": "Script demonstrating how to deploy resources from subscription owner access.",
+ "type": "Script",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ },
+ "result": true
+ },
+ "startTime": "2019-10-15T19:35:23.8889341Z",
+ "endTime": "2019-10-15T19:36:29.4432822Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ },
+ "result": true
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/Configure",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/Configure",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Configure Something",
+ "description": "Sample script demonstrating how to connect to ARM and how get secrets from provider's vault.",
+ "type": "Script",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "startTime": "2019-10-15T19:33:58.9810782Z",
+ "endTime": "2019-10-15T19:35:23.7610359Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ },
+ "result": true
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/Secrets",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/Secrets",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Import and/or Create Secrets",
+ "description": "Import external secrets and/or create internal secrets.",
+ "type": "Template",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "startTime": "2019-10-15T19:33:00.5573558Z",
+ "endTime": "2019-10-15T19:33:58.9185836Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/AddSubscriptionOwner",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/AddSubscriptionOwner",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Add Subscription Owner",
+ "description": "Grant subscription owner access to the add-on RP",
+ "type": "AddSubscriptionOwner",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "startTime": "2019-10-15T19:32:59.882963Z",
+ "endTime": "2019-10-15T19:33:00.5417235Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/SetVaultAccessPolicies",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/SetVaultAccessPolicies",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Set Vault Access Policies",
+ "description": "Grant access to provider's vault to provider's identity.",
+ "type": "Template",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "startTime": "2019-10-15T19:32:00.433533Z",
+ "endTime": "2019-10-15T19:32:59.8360901Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/Identity",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/Identity",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Create Identity",
+ "description": "Create provider's identity.",
+ "type": "Template",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ }
+ },
+ "startTime": "2019-10-15T19:30:30.1106752Z",
+ "endTime": "2019-10-15T19:32:00.3866607Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ },
+ "providerIdentity": {
+ "identifierUriPrefix": "nullprovider",
+ "displayName": "Azure Stack - NullProvider App",
+ "certificates": [
+ {
+ "secretUri": "https://null-provider-vault.adminvault.redmond.ext-n22r1708.masd.stbtest.microsoft.com/secrets/ProviderIdentityClientCertPublic"
+ }
+ ],
+ "applicationId": "99011b1e-4056-44d0-b1a2-9c9ed959f024",
+ "servicePrincipalObjectId": "b0121fa7-fcdb-4d09-80ef-cdcc9d04493b",
+ "identifierUris": [
+ "https://nullprovider.rp.azurestackci02.onmicrosoft.com/3d6d059d-5b08-4432-bc39-a29fe8de30c1"
+ ],
+ "tenantId": "6a8092d6-08d4-45af-894a-121400ef36a1",
+ "loginBaseEndpoint": "https://login.microsoftonline.com/",
+ "graphBaseEndpoint": "https://graph.windows.net/",
+ "graphResource": "https://graph.windows.net/",
+ "graphApiVersion": "1.6",
+ "identitySystem": "AzureAD",
+ "provisioningState": "Succeeded"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/CreateVault",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/CreateVault",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Create Vault",
+ "description": "Create provider's vault with minimal access policies.",
+ "type": "Template",
+ "parameters": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ }
+ },
+ "startTime": "2019-10-15T19:29:56.6504711Z",
+ "endTime": "2019-10-15T19:30:30.0794295Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/actionplans/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/operations/Constants",
+ "name": "global/5f7d40b0-c504-4ebe-9db2-6f906d0faf6e/Constants",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations",
+ "properties": {
+ "title": "Create Constants",
+ "description": "Create deployment constants.",
+ "type": "Template",
+ "parameters": {},
+ "startTime": "2019-10-15T19:29:22.7017314Z",
+ "endTime": "2019-10-15T19:29:56.6348495Z",
+ "outputs": {
+ "vault": {
+ "name": "null-provider-vault",
+ "id": "/subscriptions/ca13578c-6d3b-4478-b63e-a65c89601d86/resourceGroups/Microsoft.NullProvider/providers/Microsoft.KeyVault/vaults/null-provider-vault"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Create.json
new file mode 100644
index 000000000000..66908fa86cf1
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "fileContainerParameters": {
+ "properties": {
+ "sourceUri": "https://deploymentproviderbvts.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/temp/Microsoft.NullProvider.1.1.zip",
+ "postCopyAction": "Unzip"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json
new file mode 100644
index 000000000000..7ee403600e6d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json
new file mode 100644
index 000000000000..1825d47eb2a0
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/List.json
new file mode 100644
index 000000000000..7516a854589b
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Operations/List.json
new file mode 100644
index 000000000000..6a927b325599
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Operations/List.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "List/Get File Container(s)",
+ "description": "Returns the list of file containers or gets properties for the specified file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/write",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "Create/Update File Container",
+ "description": "Creates or updates a file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/delete",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "Delete File Container",
+ "description": "Deletes an existing file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/operationresults/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Operation Result",
+ "operation": "Poll Asynchronous Operation",
+ "description": "Polls the status of an asynchronous operation."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/Operations/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Operation",
+ "operation": "List Supported Operations",
+ "description": "Returns the list of supported operations."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "List/Get Product Deployment(s)",
+ "description": "Returns the list of product deployments or gets properties for the specified product deployment."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/bootstrap/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Execute Bootstrap Deployment Phase",
+ "description": "Executes 'bootstrap' deployment phase."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/deploy/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Execute Provision Deployment Phase",
+ "description": "Executes 'provision' deployment phase."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/remove/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Remove Installed Product",
+ "description": "Removes installed product."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/setexternalaccess/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Set External Access",
+ "description": "Enables or disables operator's access to product subscription."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "List/Get Secret(s)",
+ "description": "Returns the list of secrets or gets properties for the specified secret."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/import/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "Import Secret Value",
+ "description": "Imports a new secret value."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/validateImport/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "Validate Import",
+ "description": "Validates input for the import action."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "List/Get Product Package(s)",
+ "description": "Returns the list of product packages or gets properties for the specified product package."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/write",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "Create/Update Product Package",
+ "description": "Creates or updates a product package."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/delete",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "Delete Product Package",
+ "description": "Deletes an existing product package."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Bootstrap.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Bootstrap.json
new file mode 100644
index 000000000000..1231430f0a43
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Bootstrap.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview",
+ "bootstrapActionParameter": {
+ "version": "1.0.2"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json
new file mode 100644
index 000000000000..47466509160e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview",
+ "deployActionParameter": {
+ "version": "1.0.2"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json
new file mode 100644
index 000000000000..260d2b3f837e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.iothubpreview",
+ "name": "global/microsoft.iothubpreview",
+ "type": "Microsoft.Deployment.Admin/locations/productDeployments",
+ "properties": {
+ "status": "BootstrapSucceeded",
+ "subscriptionId": "c487a9cf-9841-44fa-9370-7b9e094db57e",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/List.json
new file mode 100644
index 000000000000..d505ca50cf2e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/0a581108-e747-40cf-8a80-2c82ddd0438a/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.iothubpreview",
+ "name": "global/microsoft.iothubpreview",
+ "type": "Microsoft.Deployment.Admin/locations/productDeployments",
+ "properties": {
+ "status": "None",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/0a581108-e747-40cf-8a80-2c82ddd0438a/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.eventhubstaging",
+ "name": "global/microsoft.eventhubstaging",
+ "type": "Microsoft.Deployment.Admin/locations/productDeployments",
+ "properties": {
+ "status": "DeploymentSucceeded",
+ "subscriptionId": "bc070a98-3728-476c-aeb0-8957e067c29d",
+ "deployment": {
+ "version": "1.3.1",
+ "actionPlanInstanceResourceId": "/subscriptions/0a581108-e747-40cf-8a80-2c82ddd0438a/providers/Microsoft.Deployment.Admin/locations/global/actionplans/33a10be1-2365-44a9-8c69-c8a06e8fd81c",
+ "parameters": {}
+ },
+ "lastSuccessfulDeployment": {
+ "version": "1.3.1",
+ "actionPlanInstanceResourceId": "/subscriptions/0a581108-e747-40cf-8a80-2c82ddd0438a/providers/Microsoft.Deployment.Admin/locations/global/actionplans/33a10be1-2365-44a9-8c69-c8a06e8fd81c",
+ "parameters": {}
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json
new file mode 100644
index 000000000000..2f0b39fa1bb4
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json
new file mode 100644
index 000000000000..05fdceedfbb6
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/RotateSecrets.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/RotateSecrets.json
new file mode 100644
index 000000000000..05fdceedfbb6
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/RotateSecrets.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json
new file mode 100644
index 000000000000..648670de33b3
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview",
+ "unlockActionParameter": {
+ "duration": "P5D"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json
new file mode 100644
index 000000000000..b3439f9c6e71
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.NullProvider.1.1",
+ "fileContainerParameter": {
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json
new file mode 100644
index 000000000000..106199cd1975
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json
new file mode 100644
index 000000000000..593f444612a6
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/List.json
new file mode 100644
index 000000000000..6138961357d4
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json
new file mode 100644
index 000000000000..b6c83ec44937
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "secretName": "secretName",
+ "secretValue": "sslCert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0a581108-e747-40cf-8a80-2c82ddd0438a/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.IotHubPreview.1.0.2/secrets/sslCert",
+ "name": "global/Microsoft.IotHubPreview.1.0.2/sslCert",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets",
+ "properties": {
+ "secretKind": "Certificate",
+ "description": "Application SSL certificate.",
+ "expiresAfter": "P365D",
+ "secretDescriptor": {
+ "keyLength": 3072,
+ "alternativeDnsNames": []
+ },
+ "secretState": {
+ "status": "NotUploaded",
+ "rotationStatus": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json
new file mode 100644
index 000000000000..bf7340c44ac4
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "secretName": "secretName",
+ "secretParameters": {
+ "properties": {
+ "secretValue": "sslCert"
+ }
+ },
+ "newOffer": {
+ "properties": {
+ "password": "password",
+ "data": "MIIasdajCasdadIIKlDCCCpAGCyqGSIb3DQEMCgECoIIJfjCCCXowHAYKKoZIhvcNAQwBAzAOBAg8H9AO2t5mSwICB9AEgglYZET8GdClyLmngkqx8gob6P56kmMBIB72BG9BZtjnCpY/D4E9Rhl2hmxHFPY2ivsRSgFKDg8tVs+hnMuokWShJhZ0oIaBo4nHRcKk4sWzCfgEN21T2tgCnkG+Fz2kpvv485YaRpnU+vRU19NfwOe34A+zxI63H7V8cnAOuy5fI7MPqWYFDYLAWtJwVbslLVBDmdyKTah7+53g4P71wZD3rupW/ntOJQUzmZUV5RXphIyQn1pN15DCLRPwgc0FwqglrUJMxHD/MJ8w23JXG9HcgVS7tCEDEVGs2X7P/svcy8zV14Amhy73Lcqy7ZS8lxlyvyuXMCbRmY9UxsGc3SvbgWZqVzWaaHbiq/8jEncq0Cd21I0Ynv3cGBwGR9ERml3NNeZWon1NFUxkZhG2CQ5z6W4NhnVX3iq9D1lklRbzYls8qcCKTIsT6qPbBonAKFBZ9+JqJxZSkzoiWVR3GqTdGaaSrY56g2WKwQ330/rJXSR2iaeWc/V+JXRz0GJ9bIrgqrFXunmyVJ6zXftu9sfFz/PTD9exbHVlYItzxxMTuCIfeHs6Neb4s1IP8JKEGHfmldoFOoInwL2NW7Q6EERLmvAZ600JTsD5lyDum8ne4J9yzCP09Qoruo7TtoFPE+CBqbb3hUVfT/kDp8EbqseWG6fyydXwI49VGwX5xUfO8qNW56tpjPZWg6wx4zLfkqxkEu3/+4/2IWtyAfFp6L0VdpyCFwJ0dcWJUI13WujHOobfjPWJ+atdXR4qbZ6QpKeotYKq+twmZXIkgSvWxkg/QR1j1wf+PMFnVoexPiqH0rxMS+VcLLUA/fXfrBaD/Q/0ZPChLOM9rBBN0tb6Kj09jlFKrqm0PsqPsXg9j1PwH5h0Ou6aaJ0GKj5LFAESeKp8FloBq5GXzROokjMjxoXN0S1KY/zgl+J57ZzNO21MGjXTE1jmHnCGKgMSoX+myE75o46FcvFrgdxWjR0XvAjCJdF0dnMk/HCxtTHxd0U5qhsIX9chZBW83mPMHhxmPPa/V5t+3YL0v2EOmsXtb3tVi3KlMwxNQKdNgbX4OFRY27crgLTzEhwgCXhwwsHayu/R7pBYCO6czJuSxGo5xdqWeF0wewZ4+bEzGfsAkY0sXMSelz48ehtVLaiEcWNYAVvRwV5AyBfXtPBBpZa8XMROXIlFDAFHVDQ7F+r6PlbZVT9z3ziAF+CeCCEFAsT86MMPHHtCr+ljAq4ZOGR2SgsY0idcETdSfZNpC+D2JF1g98niQOk7Gws1SeWf4mLRTQTSGBGTO/CONYaGo+H5erMF9uzRd3IuqmI6rjG0Upvl4hBu8bT+Kyy/5fHRDMwF8cc2IKCFHoPuTE/u6m0VSWGuR+WnAjem+McqxmWiqWgsfLKlfs9YzxbLLvBpPTDcUZgz16BB//Az9gRT/6dtwgSZ5U0zyq4+xED+LImQ3IJXfReaas5QS0b2JAeR1EcNio6221xh78+S5K2B7+LAhMRxGn2l4NZTYatugZimjp1vJK/pHo1Ph0ILpd5DwSmQMmnvDVIgttDnsMiYkL0voQNriDeGupqgxsh3Y7fOh8EqySr63XYhkYSM/BzuUFkdnc0hkMEd96p1OhjjJ8n1+FUuHjMGYMTaZyHCHB9+wLIQUiz1Y328B2qHN2vAKnA5vcx+Y+30rc3PM1Gu0zMJDB17bsLrpNZHQ0e7bzekKdVY27bbRjDX/ZfSmEt5Iq24ilcbL3WBFChwBesDRrnFHkxNJUR+suVTlaX80axjOABtJxfSJ9xEa1orA9I1d5hlRVWGgRXsOM1u9rKauCGKZ4jdl1pfIVSUyT5N1HBUvmfn4Nau/+AsgBy4+cbVVd77gbdAt+YXp7EYF665SlipcvDzmcLp9WsCasYeNbQ9l4G4Vh8dzyuJZuJSrOe/Ue7pQgLRSZx58NLGvy2HhZ6h9i+z7967iPhUrkMb/gGorof2qCtB9VgP8Kg7VV1rym9suFj41zS0CE3BGjwFK4zvIrFKB4zH//qZdEG366zA145hWOnFWVqF88YAuZTJ2JWGoIiq5SZ8wZfOQRVAK4rdDlKVT2+wCr2mAK0xU8r2ln61xsQq7OvYi4iNvMkFcV9Y5afoHoCQdtvURN3Oipoi8om+iNOm2TDx8YtLEvWYWzOEmYHGOmfAs9wSCSI5xcW9tBPBsVCxympFcsW4tMx34sPAS8PzzkymFiUy+HMtuhyvTzQ5paqgQkelvbh3Re1hGEmHSaOn7y9vRUOMfQyGTA89ohUVYkfrOvDh+aUtWlcd7SCMeUOevE46YJJY/TzGEr4XBrfVoMI1S0oiRLvfnI8B2II06Y9Ae0zj2zQTUuIZj+8go3N6ClDFe8+C03cC6xTvnTlf33VWZzv0t33xGmVDYgQpC+cV99AJb7jS1Zkk+Ed2K79IeLAKWIydqkmRqPKuncEEYL54BGgHJqw5k/gtyAEjoqUBcsI9mUpjLSXXXRq04J41TkBEkSyMqeb9zNeuH23pLqF3k/LZxIQ6VFpZeX0DDHZfqR9DhX+7V7wuPqpiNiCnWbhDyr4RjtKSpuKnfzWgAjnkaUXaNCwyogBnV+fpt8klZSDvnyuZMQGr8rIy+P/rpWCOAkU6pvumVwNk+1CE8x0GSzWx6BoC/8ieeEv0maZnBBARe/07i+rNETbKh9YaSK5YLCer1KQeoHrFoyaka44ngYjo09X5dJlZutmsPm46Up0n1PAeqLxQbSUxiT1leaS3DiWmUaPAUFYkVKWYvlNG6jk70+ei2ivAGmcID6yQFfQRF5t/v71U2qSSKBPfsFXH69xw/UY1ivjZ2EASRG9u45bWLPhOOMQ5ilSb80nPcGHSIpz0gayGUhIgTJhOue13HnjIfmbo0pE2yECggQmvMO/833FStNzI7MG6nsiryFAShuMDPG89C4kjA0f07Q6agUtpJgHCZfHOMnKYOwO6h8QC5woNjKxhQl7cZFpPEE7xCEicmAmP3A4wS46S7MA0rGagU1AGCUUOVad62PEBsghReVkRsEelIG2NOYTyuIGXgcsQBvdNmnhtHTdIgQ6ycxR7IOmJIzN50kBx32xN+IfaLh37oAIrM/+dD9KxzrQCghtrEiGQeDdEI25rHIdtE3dwhWSEZ1fl/6B21S6Yh13YDOWpVnhgdX/9w+mdXD+mQjWxmK9ZdptgTaCoiro45zGB/jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBdBgkqhkiG9w0BCRQxUB5OAHQAZQAtADYANwBiADQAYwAzAGIAMQAtADcANwBiAGQALQA0ADYAMwAxAC0AYgBhADQAYwAtADMAZABkADIANAAwAGIAMgA0ADIANQA1MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIMfwYJKoZIhvcNAQcGoIIMcDCCDGwCAQAwggxlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgK726i3z4NuwICB9CAggw4LOMv7g2Y9P0912i5nlJpTiX9mjGTJyl5WDiCtLy1Ik23TOKlRpXahQ8bPGAxR2ebCgVHL3iTStiiu3Wb3V93ZUmWo9aY84BTN2PJsF8O5m2OvpY08DZUOD4F0pLfkUv7lUBGjdYmRDh7SJLFQztENdji511bz1nfonfcTgIlYou5cAhitb/bp7NHbCsCugPKXd0yG1y/jOKEQzQ7oKlPP92DgpA2VUqeQOm79FZA/F/SoH6bfwWa7tsC1uE40psgJqrQMYq7pZfSr9GFtKW1XiLvVbzAnvyn+SH2AA85W1c2w8sh4NEiLajY3NPX+jStly9N0i2Yepn493dg/Wk553FLVa+QrP62C766yyjDPkYhCbBQowB0oiH0drykL7wRbYaTtfcC9N2GdENT6SrBZfdqO0wjLTHfbpxnB2cI0ziWCsTyX1OQPrvZYmRXeeoQ569uOBGT2xXi6BSrMRDIJxyO/M/qTvLsoroB2MoCkF4t9/XZYdCDaIxSMxauQ9bHUBEkJz7srfn6OxU/2Z/PysX3sOQS5JJqeat8ryCG5MTJz69QLqDUTutBSOJ8isXC3TcjjYWzxO0jc3PmmmGIqX0D5ZLeURG1ePrkxSPKHNbMYtg/lvDNSZ6R35ApQ7EDXUVZSmlJFDnxPYjuwo9JV6W0AZMekKGdUJMOtwAy0BekBDuTAnzHRbe4QxNCbjDQXbtvOcZ1Q1DRekJtPPM20clucthlTHBgFRtoEFoIcLunY/jbpxrsjMeuKp+iuxnDVHhxxJLdtF/4WI9OKNC6sPGpqhQjGujzg+bCzYn6tuxqf5zgsEiSpqwoxIQLQ/yPJr1UXOWf6NY8AAkBjQ59ExisFGhtg88HgwC9QkMpxWBU0UOnrx7twBwlWNIVjt4yR5UMiMNOIcemZukt7GeXojcpti/mtzbaLOjCB25C6fZBBUJS7hYE3WZ+fMgyUIf1f1VqCdbVBclrduAdx9BqSCPMpjmtKN5MZewc/CNqrm8sPmjYiWI5LC1vh4dbcSpd6Pl76YV3vxPWn3cZTeDwLSU2lX7lVqS3jrj0NF8/VkVR8iS13u6baAIRN6UZNOSLwcalB/eZkRSYHqSTE4Cnh1O+qkoTX/PGYm1BIv5NKGnSJjc6+/vD3xMAIxYr4FbdCZ+VDIVRb0iAhC8hArHXjU6vHL8EAQYxeC8t5JcvfmmaDTkaymVKJz+6mNKSUhLDHJIo1h8Y4a/oVwL+bLPO8HwYQyLxVMwQLeEOc0isB1i62Kygwf+Pvg2xRgcuNwXRarsFQj+wkj0b+8vTyWVS8hTUWi9LkB95sNBwBwCKaHU6lbQBjUCApiV23F3ssJISR8nDuIgRWFYjNU8tUk4lCy0zeM0v9JzbbWm7vGfURx5CPxo4h1PL/Cw+l3QO9qG+FmawLNfF4wO3I/DaSd8aav60r7+mdj6WIcv6F5+MlFMW11kIlBwEh44umhVpzUpSFt8tI3oJ/TTzxdOgXJTg4uZk1ljOd1tXgvKG9+EpFGcFVbcm3ikljcMRY1neXFUV2p9A8tfTCFigB+j+zCQJXPDQlsgdgnBk6uwm4c7vxIEIU+ZMpv+Q2BhP69+W5RpXUo4431R5/bM8mVAmSPvMBSKYh2uZSEhGt/7rC3z61zmYGjSj8RFStBQG/Y82ZVmdFSKz+YYj/wljs1YZo2XghFfTgT/CdZyNWhLO+nHL2H9h0Po4TN5fHXsrfsyFfzIcxjfc+3iCw+Nw0IghSBDFaAkX3jV8ZF9o23vo3AopM8W+2qscnTe+wMSdrME/h7EvvnpMTBnZIpjyFw2vXoOSjitWijvbomDzyHXBwfoKqHquhPLIx7ub0xG6FhxWeKNMfxhJ0/W0Z7iHKGRXH55s05Wd3wjwnghQfFdAjftkcFEkEQIQ3xLzd1QEaRgMbYZEQkH9PYitiIbNmURaZlY5jJZwL5itouaZhsaMoPsego1e0UQfij1bUpJcFL6L4VI5eokeeAtfGguLtaKxkPuHWeWnrErnXWbI7rqFkq5fkESZSv+IaGUYZGRJ1ybpgrH6Ik7Mvi9L3kBCs6dZg6ACkDgq98kpazOCjk0JWuTHaoekTr26NBglfKWdPWke2qvKEuq9baMUkB05+PlC29TW6tvrucRiX1pO9xQjipZ7c6yF8sel/msn3Xj5EB78yPjWZjrwPst3fkFcC1kiBxSPovefaxChjG+u5nP5jbV1NGiQBk/OdIYggel74VkYQ4DANo4D+rs0s6UnzBbsMEe+qxt7ztM7AUAIXfmz0T+XD+pT5Qwv5pE/wuysSLk5KKXw/bFLRORJbzY1f03wKKlTaD7jFVbCJgy7lj2fc+sUCGdaUxmiczJc58n1RK/sqccRNQrnPyi5YYrYZ8EdvwqkHwMSIvZjT0hPw+/ooOLjN8TNPtYRnm3DDN3KN2S8iaHQOxokBD1SWzGN/v1d19+kYcG2aayosqHcr7XcAc5aQKT+M8YdZwgcTu+NsTz5o3YIG4+xIphdjiWAGWKIvlhiXDnVi5zNPt/YqnNE0Vl5mVMaPnKs31PQzErzFeF80ZQ/gSPflWadLLMcoZV3Q8VNGbcmQHuOpdS/rEBGDWE9jRGcC3i+V7CKpzt7ehNLq9b5CdX5qvkfoci/4iDNjXsR8qEMdlKjSD8H9PH7j0JP476El0TaqiuVApv+X/S10x8au086wnKu2L4dzMu9O2VV4qx1xFZI0SAD/JCVYddApkpGAweEMRHoEWqwcBwIsF2mYPmTRaU29Z4laCCMA1uCMMFcL4tM57XlptxFsZgNrWbFJdnOh0KM6TGAeXq9j6h3g0A4PaqfNAOaG5HWQBlOf5KmviO5EtcfslfL0XaS65E+fK8RoOpj0Um6b069R1NwrHy4/YdJZQFUt5EJFKa+m0MvdFxiIeiNIYhG+POH0l+6ycVz4u4nKplh0jmskj2kyNy+65TX4Y1Gg5dKVSQWfG2c5Tuim1UBB/51cS1cgS73SbdEe136kCuUg5Cc0/jm0RCS31DW/GLtrdGtgOcmPNrAk7HomiD6nHvV1yb/ghgyGKRIMmQEMOfn2ul/51Lo0sPSP++1KJKfEkqJFnjYWrmRR2x0rEf/3juYlN4GXO0YTNtfyou3DBI/mpdpHgiR1/jXKWe+h9wMWyVZt4goyQifTYSs+3L7Bx3EsrjhZQzoe/lQTywtkvLIeq5zOkRK2EPkDPjLPbD4nqp+mzQg74Y7ZGWy7DBlU97TdYyFIossYnpNxbRPodJ/xqtB5IPvCjp6uoUwRJyPNBCUCJyanVlN7R2Tju5NszpwhnN3xtcUbvA45M/b2lV4RBh6pnLi/ktajwBo331edlI4q91AGxuJvxugwPYiudkiSWnZc7LxwOPiwExivuq7Era85mci9URRnBb+EYMA4RqnFrs327POeytuMmNtGAESRA1NwlRJOTLplO7suJmnDT9A0mOfUmnkcyzah3khqCucl96w9mINmbcEoOBGp1xVske2TGhFSsDCObae0BvF2f+43ciwbxDpGTuNB9UnV8w41HV2UhZ+OjYJK0pgVlk5+vfnXEw+iJiPItSynB1HZsdqLJuEqRESRVRIozqR/bHSkv61y2Bq5isT9ZwF9FNbZuSgGoLAvuzpwN95Mx83g4MsNvYWo9EyIEGvjbecBzL9fpeunkvrD2LC8k8+sdtQQ5rPibMKV6kL6ThWbeDhXExk0vZcHos3nLBLsW5Ov/J2erN/CcJdd/CGnwzxMjfmbp2FxLFMwe4XdMsBp7WlGjMy++hRbINtwMAysboIb/YOTOylgBNSDl6uJ27MHtbLhgSyDEw18bFglqWvjvKUJKPbZE7bEw9w3HgWojsQavaqewuAp9OYyg4ZfQCApNmSievlt673v0nZ5dooS9rZroDukwIwTQpxmWaS0wo7SWkkRy99Owe08PFEsM93FrtuyTNz4+1sAWWkQrU7eU5l5C+NM9ZUhCe7jTxTBAs+VMHdMVRF5FQKPLM5CU5RIfg7RDs94TSVPEB8gG5r13+Kmf5gv1NzX8QHmrRA1k0uzF9g4btWdXhoCarB61wFXsizx3mTFEmYev5A3vb6Dn6E4Md//+gJFJ31DcmK7I1DvJCM8QV1mKQydZTef5GkrPxxCk4/kK6cbSNpaHwgNZRPoq+2q9+ZBGK8dzvWbOUwOzAfMAcGBSsOAwIaBBQYe7dTefP7Lx9vu5M0PY3co6yQXwQUiMIUs1ICQSCmLpbiC0DEBnr1JxYCAgfQ"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json
new file mode 100644
index 000000000000..cc35a2b5b53a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "secretValue": "sslCert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1/secrets/AdHoc",
+ "name": "global/Microsoft.NullProvider.1.1/AdHoc",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets",
+ "properties": {
+ "secretKind": "AdHoc",
+ "description": "This is an ad-hoc secret.",
+ "expiresAfter": "P365D",
+ "secretState": {
+ "status": "NotUploaded",
+ "rotationStatus": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1/secrets/TlsCertificate",
+ "name": "global/Microsoft.NullProvider.1.1/TlsCertificate",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets",
+ "properties": {
+ "secretKind": "Certificate",
+ "description": "This is a TLS certificate.",
+ "expiresAfter": "P365D",
+ "secretDescriptor": {
+ "subject": "CN=NullProviderTLS",
+ "keyLength": 4096,
+ "alternativeDnsNames": [
+ "noterp.redmond.ext-n22r1708.masd.stbtest.microsoft.com"
+ ]
+ },
+ "secretState": {
+ "status": "NotUploaded",
+ "rotationStatus": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1/secrets/ExternalPassword",
+ "name": "global/Microsoft.NullProvider.1.1/ExternalPassword",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets",
+ "properties": {
+ "secretKind": "Password",
+ "description": "This is an external password.",
+ "expiresAfter": "P365D",
+ "secretDescriptor": {
+ "passwordLength": 10,
+ "allowedCharacters": "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
+ "passwordValidationRegex": "^(?=.*\\d)(?=.*[A-Z])(?=.*[a-z]).*$"
+ },
+ "secretState": {
+ "status": "NotUploaded",
+ "rotationStatus": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1/secrets/ExternalSymmetricKey",
+ "name": "global/Microsoft.NullProvider.1.1/ExternalSymmetricKey",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets",
+ "properties": {
+ "secretKind": "SymmetricKey",
+ "description": "This is an external symmetric key.",
+ "expiresAfter": "P365D",
+ "secretDescriptor": {
+ "keyLength": 128
+ },
+ "secretState": {
+ "status": "NotUploaded",
+ "rotationStatus": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json
new file mode 100644
index 000000000000..09fc63e01e89
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.IotHubPreview.1.0.2",
+ "secretName": "secretName",
+ "secretParameters": {
+ "properties": {
+ "secretValue": "sslCert"
+ }
+ },
+ "secretValue": "sslCert",
+ "newOffer": {
+ "properties": {
+ "password": "password",
+ "data": "MIIasdajCasdadIIKlDCCCpAGCyqGSIb3DQEMCgECoIIJfjCCCXowHAYKKoZIhvcNAQwBAzAOBAg8H9AO2t5mSwICB9AEgglYZET8GdClyLmngkqx8gob6P56kmMBIB72BG9BZtjnCpY/D4E9Rhl2hmxHFPY2ivsRSgFKDg8tVs+hnMuokWShJhZ0oIaBo4nHRcKk4sWzCfgEN21T2tgCnkG+Fz2kpvv485YaRpnU+vRU19NfwOe34A+zxI63H7V8cnAOuy5fI7MPqWYFDYLAWtJwVbslLVBDmdyKTah7+53g4P71wZD3rupW/ntOJQUzmZUV5RXphIyQn1pN15DCLRPwgc0FwqglrUJMxHD/MJ8w23JXG9HcgVS7tCEDEVGs2X7P/svcy8zV14Amhy73Lcqy7ZS8lxlyvyuXMCbRmY9UxsGc3SvbgWZqVzWaaHbiq/8jEncq0Cd21I0Ynv3cGBwGR9ERml3NNeZWon1NFUxkZhG2CQ5z6W4NhnVX3iq9D1lklRbzYls8qcCKTIsT6qPbBonAKFBZ9+JqJxZSkzoiWVR3GqTdGaaSrY56g2WKwQ330/rJXSR2iaeWc/V+JXRz0GJ9bIrgqrFXunmyVJ6zXftu9sfFz/PTD9exbHVlYItzxxMTuCIfeHs6Neb4s1IP8JKEGHfmldoFOoInwL2NW7Q6EERLmvAZ600JTsD5lyDum8ne4J9yzCP09Qoruo7TtoFPE+CBqbb3hUVfT/kDp8EbqseWG6fyydXwI49VGwX5xUfO8qNW56tpjPZWg6wx4zLfkqxkEu3/+4/2IWtyAfFp6L0VdpyCFwJ0dcWJUI13WujHOobfjPWJ+atdXR4qbZ6QpKeotYKq+twmZXIkgSvWxkg/QR1j1wf+PMFnVoexPiqH0rxMS+VcLLUA/fXfrBaD/Q/0ZPChLOM9rBBN0tb6Kj09jlFKrqm0PsqPsXg9j1PwH5h0Ou6aaJ0GKj5LFAESeKp8FloBq5GXzROokjMjxoXN0S1KY/zgl+J57ZzNO21MGjXTE1jmHnCGKgMSoX+myE75o46FcvFrgdxWjR0XvAjCJdF0dnMk/HCxtTHxd0U5qhsIX9chZBW83mPMHhxmPPa/V5t+3YL0v2EOmsXtb3tVi3KlMwxNQKdNgbX4OFRY27crgLTzEhwgCXhwwsHayu/R7pBYCO6czJuSxGo5xdqWeF0wewZ4+bEzGfsAkY0sXMSelz48ehtVLaiEcWNYAVvRwV5AyBfXtPBBpZa8XMROXIlFDAFHVDQ7F+r6PlbZVT9z3ziAF+CeCCEFAsT86MMPHHtCr+ljAq4ZOGR2SgsY0idcETdSfZNpC+D2JF1g98niQOk7Gws1SeWf4mLRTQTSGBGTO/CONYaGo+H5erMF9uzRd3IuqmI6rjG0Upvl4hBu8bT+Kyy/5fHRDMwF8cc2IKCFHoPuTE/u6m0VSWGuR+WnAjem+McqxmWiqWgsfLKlfs9YzxbLLvBpPTDcUZgz16BB//Az9gRT/6dtwgSZ5U0zyq4+xED+LImQ3IJXfReaas5QS0b2JAeR1EcNio6221xh78+S5K2B7+LAhMRxGn2l4NZTYatugZimjp1vJK/pHo1Ph0ILpd5DwSmQMmnvDVIgttDnsMiYkL0voQNriDeGupqgxsh3Y7fOh8EqySr63XYhkYSM/BzuUFkdnc0hkMEd96p1OhjjJ8n1+FUuHjMGYMTaZyHCHB9+wLIQUiz1Y328B2qHN2vAKnA5vcx+Y+30rc3PM1Gu0zMJDB17bsLrpNZHQ0e7bzekKdVY27bbRjDX/ZfSmEt5Iq24ilcbL3WBFChwBesDRrnFHkxNJUR+suVTlaX80axjOABtJxfSJ9xEa1orA9I1d5hlRVWGgRXsOM1u9rKauCGKZ4jdl1pfIVSUyT5N1HBUvmfn4Nau/+AsgBy4+cbVVd77gbdAt+YXp7EYF665SlipcvDzmcLp9WsCasYeNbQ9l4G4Vh8dzyuJZuJSrOe/Ue7pQgLRSZx58NLGvy2HhZ6h9i+z7967iPhUrkMb/gGorof2qCtB9VgP8Kg7VV1rym9suFj41zS0CE3BGjwFK4zvIrFKB4zH//qZdEG366zA145hWOnFWVqF88YAuZTJ2JWGoIiq5SZ8wZfOQRVAK4rdDlKVT2+wCr2mAK0xU8r2ln61xsQq7OvYi4iNvMkFcV9Y5afoHoCQdtvURN3Oipoi8om+iNOm2TDx8YtLEvWYWzOEmYHGOmfAs9wSCSI5xcW9tBPBsVCxympFcsW4tMx34sPAS8PzzkymFiUy+HMtuhyvTzQ5paqgQkelvbh3Re1hGEmHSaOn7y9vRUOMfQyGTA89ohUVYkfrOvDh+aUtWlcd7SCMeUOevE46YJJY/TzGEr4XBrfVoMI1S0oiRLvfnI8B2II06Y9Ae0zj2zQTUuIZj+8go3N6ClDFe8+C03cC6xTvnTlf33VWZzv0t33xGmVDYgQpC+cV99AJb7jS1Zkk+Ed2K79IeLAKWIydqkmRqPKuncEEYL54BGgHJqw5k/gtyAEjoqUBcsI9mUpjLSXXXRq04J41TkBEkSyMqeb9zNeuH23pLqF3k/LZxIQ6VFpZeX0DDHZfqR9DhX+7V7wuPqpiNiCnWbhDyr4RjtKSpuKnfzWgAjnkaUXaNCwyogBnV+fpt8klZSDvnyuZMQGr8rIy+P/rpWCOAkU6pvumVwNk+1CE8x0GSzWx6BoC/8ieeEv0maZnBBARe/07i+rNETbKh9YaSK5YLCer1KQeoHrFoyaka44ngYjo09X5dJlZutmsPm46Up0n1PAeqLxQbSUxiT1leaS3DiWmUaPAUFYkVKWYvlNG6jk70+ei2ivAGmcID6yQFfQRF5t/v71U2qSSKBPfsFXH69xw/UY1ivjZ2EASRG9u45bWLPhOOMQ5ilSb80nPcGHSIpz0gayGUhIgTJhOue13HnjIfmbo0pE2yECggQmvMO/833FStNzI7MG6nsiryFAShuMDPG89C4kjA0f07Q6agUtpJgHCZfHOMnKYOwO6h8QC5woNjKxhQl7cZFpPEE7xCEicmAmP3A4wS46S7MA0rGagU1AGCUUOVad62PEBsghReVkRsEelIG2NOYTyuIGXgcsQBvdNmnhtHTdIgQ6ycxR7IOmJIzN50kBx32xN+IfaLh37oAIrM/+dD9KxzrQCghtrEiGQeDdEI25rHIdtE3dwhWSEZ1fl/6B21S6Yh13YDOWpVnhgdX/9w+mdXD+mQjWxmK9ZdptgTaCoiro45zGB/jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBdBgkqhkiG9w0BCRQxUB5OAHQAZQAtADYANwBiADQAYwAzAGIAMQAtADcANwBiAGQALQA0ADYAMwAxAC0AYgBhADQAYwAtADMAZABkADIANAAwAGIAMgA0ADIANQA1MHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMIIMfwYJKoZIhvcNAQcGoIIMcDCCDGwCAQAwggxlBgkqhkiG9w0BBwEwHAYKKoZIhvcNAQwBAzAOBAgK726i3z4NuwICB9CAggw4LOMv7g2Y9P0912i5nlJpTiX9mjGTJyl5WDiCtLy1Ik23TOKlRpXahQ8bPGAxR2ebCgVHL3iTStiiu3Wb3V93ZUmWo9aY84BTN2PJsF8O5m2OvpY08DZUOD4F0pLfkUv7lUBGjdYmRDh7SJLFQztENdji511bz1nfonfcTgIlYou5cAhitb/bp7NHbCsCugPKXd0yG1y/jOKEQzQ7oKlPP92DgpA2VUqeQOm79FZA/F/SoH6bfwWa7tsC1uE40psgJqrQMYq7pZfSr9GFtKW1XiLvVbzAnvyn+SH2AA85W1c2w8sh4NEiLajY3NPX+jStly9N0i2Yepn493dg/Wk553FLVa+QrP62C766yyjDPkYhCbBQowB0oiH0drykL7wRbYaTtfcC9N2GdENT6SrBZfdqO0wjLTHfbpxnB2cI0ziWCsTyX1OQPrvZYmRXeeoQ569uOBGT2xXi6BSrMRDIJxyO/M/qTvLsoroB2MoCkF4t9/XZYdCDaIxSMxauQ9bHUBEkJz7srfn6OxU/2Z/PysX3sOQS5JJqeat8ryCG5MTJz69QLqDUTutBSOJ8isXC3TcjjYWzxO0jc3PmmmGIqX0D5ZLeURG1ePrkxSPKHNbMYtg/lvDNSZ6R35ApQ7EDXUVZSmlJFDnxPYjuwo9JV6W0AZMekKGdUJMOtwAy0BekBDuTAnzHRbe4QxNCbjDQXbtvOcZ1Q1DRekJtPPM20clucthlTHBgFRtoEFoIcLunY/jbpxrsjMeuKp+iuxnDVHhxxJLdtF/4WI9OKNC6sPGpqhQjGujzg+bCzYn6tuxqf5zgsEiSpqwoxIQLQ/yPJr1UXOWf6NY8AAkBjQ59ExisFGhtg88HgwC9QkMpxWBU0UOnrx7twBwlWNIVjt4yR5UMiMNOIcemZukt7GeXojcpti/mtzbaLOjCB25C6fZBBUJS7hYE3WZ+fMgyUIf1f1VqCdbVBclrduAdx9BqSCPMpjmtKN5MZewc/CNqrm8sPmjYiWI5LC1vh4dbcSpd6Pl76YV3vxPWn3cZTeDwLSU2lX7lVqS3jrj0NF8/VkVR8iS13u6baAIRN6UZNOSLwcalB/eZkRSYHqSTE4Cnh1O+qkoTX/PGYm1BIv5NKGnSJjc6+/vD3xMAIxYr4FbdCZ+VDIVRb0iAhC8hArHXjU6vHL8EAQYxeC8t5JcvfmmaDTkaymVKJz+6mNKSUhLDHJIo1h8Y4a/oVwL+bLPO8HwYQyLxVMwQLeEOc0isB1i62Kygwf+Pvg2xRgcuNwXRarsFQj+wkj0b+8vTyWVS8hTUWi9LkB95sNBwBwCKaHU6lbQBjUCApiV23F3ssJISR8nDuIgRWFYjNU8tUk4lCy0zeM0v9JzbbWm7vGfURx5CPxo4h1PL/Cw+l3QO9qG+FmawLNfF4wO3I/DaSd8aav60r7+mdj6WIcv6F5+MlFMW11kIlBwEh44umhVpzUpSFt8tI3oJ/TTzxdOgXJTg4uZk1ljOd1tXgvKG9+EpFGcFVbcm3ikljcMRY1neXFUV2p9A8tfTCFigB+j+zCQJXPDQlsgdgnBk6uwm4c7vxIEIU+ZMpv+Q2BhP69+W5RpXUo4431R5/bM8mVAmSPvMBSKYh2uZSEhGt/7rC3z61zmYGjSj8RFStBQG/Y82ZVmdFSKz+YYj/wljs1YZo2XghFfTgT/CdZyNWhLO+nHL2H9h0Po4TN5fHXsrfsyFfzIcxjfc+3iCw+Nw0IghSBDFaAkX3jV8ZF9o23vo3AopM8W+2qscnTe+wMSdrME/h7EvvnpMTBnZIpjyFw2vXoOSjitWijvbomDzyHXBwfoKqHquhPLIx7ub0xG6FhxWeKNMfxhJ0/W0Z7iHKGRXH55s05Wd3wjwnghQfFdAjftkcFEkEQIQ3xLzd1QEaRgMbYZEQkH9PYitiIbNmURaZlY5jJZwL5itouaZhsaMoPsego1e0UQfij1bUpJcFL6L4VI5eokeeAtfGguLtaKxkPuHWeWnrErnXWbI7rqFkq5fkESZSv+IaGUYZGRJ1ybpgrH6Ik7Mvi9L3kBCs6dZg6ACkDgq98kpazOCjk0JWuTHaoekTr26NBglfKWdPWke2qvKEuq9baMUkB05+PlC29TW6tvrucRiX1pO9xQjipZ7c6yF8sel/msn3Xj5EB78yPjWZjrwPst3fkFcC1kiBxSPovefaxChjG+u5nP5jbV1NGiQBk/OdIYggel74VkYQ4DANo4D+rs0s6UnzBbsMEe+qxt7ztM7AUAIXfmz0T+XD+pT5Qwv5pE/wuysSLk5KKXw/bFLRORJbzY1f03wKKlTaD7jFVbCJgy7lj2fc+sUCGdaUxmiczJc58n1RK/sqccRNQrnPyi5YYrYZ8EdvwqkHwMSIvZjT0hPw+/ooOLjN8TNPtYRnm3DDN3KN2S8iaHQOxokBD1SWzGN/v1d19+kYcG2aayosqHcr7XcAc5aQKT+M8YdZwgcTu+NsTz5o3YIG4+xIphdjiWAGWKIvlhiXDnVi5zNPt/YqnNE0Vl5mVMaPnKs31PQzErzFeF80ZQ/gSPflWadLLMcoZV3Q8VNGbcmQHuOpdS/rEBGDWE9jRGcC3i+V7CKpzt7ehNLq9b5CdX5qvkfoci/4iDNjXsR8qEMdlKjSD8H9PH7j0JP476El0TaqiuVApv+X/S10x8au086wnKu2L4dzMu9O2VV4qx1xFZI0SAD/JCVYddApkpGAweEMRHoEWqwcBwIsF2mYPmTRaU29Z4laCCMA1uCMMFcL4tM57XlptxFsZgNrWbFJdnOh0KM6TGAeXq9j6h3g0A4PaqfNAOaG5HWQBlOf5KmviO5EtcfslfL0XaS65E+fK8RoOpj0Um6b069R1NwrHy4/YdJZQFUt5EJFKa+m0MvdFxiIeiNIYhG+POH0l+6ycVz4u4nKplh0jmskj2kyNy+65TX4Y1Gg5dKVSQWfG2c5Tuim1UBB/51cS1cgS73SbdEe136kCuUg5Cc0/jm0RCS31DW/GLtrdGtgOcmPNrAk7HomiD6nHvV1yb/ghgyGKRIMmQEMOfn2ul/51Lo0sPSP++1KJKfEkqJFnjYWrmRR2x0rEf/3juYlN4GXO0YTNtfyou3DBI/mpdpHgiR1/jXKWe+h9wMWyVZt4goyQifTYSs+3L7Bx3EsrjhZQzoe/lQTywtkvLIeq5zOkRK2EPkDPjLPbD4nqp+mzQg74Y7ZGWy7DBlU97TdYyFIossYnpNxbRPodJ/xqtB5IPvCjp6uoUwRJyPNBCUCJyanVlN7R2Tju5NszpwhnN3xtcUbvA45M/b2lV4RBh6pnLi/ktajwBo331edlI4q91AGxuJvxugwPYiudkiSWnZc7LxwOPiwExivuq7Era85mci9URRnBb+EYMA4RqnFrs327POeytuMmNtGAESRA1NwlRJOTLplO7suJmnDT9A0mOfUmnkcyzah3khqCucl96w9mINmbcEoOBGp1xVske2TGhFSsDCObae0BvF2f+43ciwbxDpGTuNB9UnV8w41HV2UhZ+OjYJK0pgVlk5+vfnXEw+iJiPItSynB1HZsdqLJuEqRESRVRIozqR/bHSkv61y2Bq5isT9ZwF9FNbZuSgGoLAvuzpwN95Mx83g4MsNvYWo9EyIEGvjbecBzL9fpeunkvrD2LC8k8+sdtQQ5rPibMKV6kL6ThWbeDhXExk0vZcHos3nLBLsW5Ov/J2erN/CcJdd/CGnwzxMjfmbp2FxLFMwe4XdMsBp7WlGjMy++hRbINtwMAysboIb/YOTOylgBNSDl6uJ27MHtbLhgSyDEw18bFglqWvjvKUJKPbZE7bEw9w3HgWojsQavaqewuAp9OYyg4ZfQCApNmSievlt673v0nZ5dooS9rZroDukwIwTQpxmWaS0wo7SWkkRy99Owe08PFEsM93FrtuyTNz4+1sAWWkQrU7eU5l5C+NM9ZUhCe7jTxTBAs+VMHdMVRF5FQKPLM5CU5RIfg7RDs94TSVPEB8gG5r13+Kmf5gv1NzX8QHmrRA1k0uzF9g4btWdXhoCarB61wFXsizx3mTFEmYev5A3vb6Dn6E4Md//+gJFJ31DcmK7I1DvJCM8QV1mKQydZTef5GkrPxxCk4/kK6cbSNpaHwgNZRPoq+2q9+ZBGK8dzvWbOUwOzAfMAcGBSsOAwIaBBQYe7dTefP7Lx9vu5M0PY3co6yQXwQUiMIUs1ICQSCmLpbiC0DEBnr1JxYCAgfQ"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/readme.md b/specification/azsadmin/resource-manager/deployment/readme.md
new file mode 100644
index 000000000000..0fd649383551
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/readme.md
@@ -0,0 +1,88 @@
+# Deployment Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Deployment Admin.
+
+---
+## Getting Started
+To build the SDK for Deployment Admin, 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 Deployment Resource Provider API.
+
+``` yaml
+title: DeploymentAdminClient
+description: Deployment Admin Client
+openapi-type: arm
+tag: package-2019-01-01
+```
+
+### Tag: package-2019-01-01
+
+These settings apply only when `--tag=package-2019-01-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01-01'
+input-file:
+ - Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
+```
+
+---
+# Code Generation
+
+## C#
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.AzureStack.Management.Deployment.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: 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.Deployment.Admin/preview/2019-01-01/Deployment.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.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/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 e71649dedcd7..d38b6a95054d 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
@@ -132,11 +132,11 @@
"description": "The deployment id of the stamp.",
"type": "string"
},
- "externalDsnIPAddress01": {
+ "externalDNSIPAddress01": {
"description": "First external IP address of the DNS server.",
"type": "string"
},
- "externalDsnIPAddress02": {
+ "externalDNSIPAddress02": {
"description": "Second external IP Address of the DNS server.",
"type": "string"
},
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
index 33d362fa0e25..b61bb0c6bbfb 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
@@ -423,7 +423,7 @@
"x-ms-parameter-location": "method"
},
"ScaleOutScaleUnitParametersInBody": {
- "name": "nodeList",
+ "name": "scaleUnitNodeParameters",
"description": "A list of input data that allows for adding a set of scale unit nodes.",
"in": "body",
"required": true,
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ScaleUnit/ScaleOut.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ScaleUnit/ScaleOut.json
index 85691ca456d6..80503125961a 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ScaleUnit/ScaleOut.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ScaleUnit/ScaleOut.json
@@ -5,7 +5,7 @@
"resourceGroupName": "System.local",
"location": "local",
"scaleUnit": "S-Cluster",
- "nodeList": {
+ "scaleUnitNodeParameters": {
"scaleUnitNode": "N1S2",
"bmcIPv4Address": "192.0.0.1"
}
diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md
index 5d8cf9d15d0d..606cf1b9bb7b 100644
--- a/specification/azsadmin/resource-manager/fabric/readme.md
+++ b/specification/azsadmin/resource-manager/fabric/readme.md
@@ -116,6 +116,19 @@ input-file:
- "Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json"
```
+## Suppression
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: FabricLocation.json
+ where: $.definitions.FabricLocationModel.properties.externalDNSIPAddress01
+ reason: externalDNSIPAddress01 is a customized name, no camel case restriction needed.
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: FabricLocation.json
+ where: $.definitions.FabricLocationModel.properties.externalDNSIPAddress02
+ reason: externalDNSIPAddress02 is a customized name, no camel case restriction needed.
+```
+
---
# Code Generation
diff --git a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
index c44c6b48edb1..7a69e8aa17d7 100644
--- a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
+++ b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
@@ -666,7 +666,7 @@
},
"GalleryItemUriPayloadParameter": {
"description": "The URI to the gallery item JSON file.",
- "name": "galleryItemUri",
+ "name": "galleryItemUriPayload",
"in": "body",
"required": true,
"schema": {
diff --git a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/examples/GalleryItem/Create.json b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/examples/GalleryItem/Create.json
index 42b01741e77d..aa3e2c71c21f 100644
--- a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/examples/GalleryItem/Create.json
+++ b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/examples/GalleryItem/Create.json
@@ -2,7 +2,7 @@
"parameters": {
"subscriptionId": "0ff0bbbe-d68d-4314-8f68-80a808b5a6ec",
"api-version": "2016-05-01",
- "galleryItemUri": "https://github.com/Azure/AzureStack-Tools/raw/master/ComputeAdmin/microsoft.vmss.1.3.6.azpkg"
+ "galleryItemUriPayload": "https://github.com/Azure/AzureStack-Tools/raw/master/ComputeAdmin/microsoft.vmss.1.3.6.azpkg"
},
"responses": {
"200": {
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
deleted file mode 100644
index 550b4395dffc..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/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/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of acquisitions has been returned.",
- "schema": {
- "$ref": "#/definitions/AcquisitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- }
- },
- "definitions": {
- "AcquisitionStatus": {
- "description": "The status of page BLOB acquisition.",
- "type": "string",
- "enum": [
- "InProgress",
- "Success",
- "Failed"
- ],
- "x-ms-enum": {
- "name": "AcquisitionStatus",
- "modelAsString": true
- }
- },
- "AcquisitionProperties": {
- "description": "The Properties of page BLOB acquisition.",
- "type": "object",
- "properties": {
- "filePath": {
- "description": "The file path 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
- },
- "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
- }
- }
- },
- "Acquisition": {
- "description": "The acquisition of the page BLOB.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "The properties of the page blob acquisition.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AcquisitionProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "AcquisitionList": {
- "description": "The list of page BLOB acquisitions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Acquisition"
- }
- }
- },
- "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/2015-12-01/blobServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
deleted file mode 100644
index 519ef48fa783..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the BLOB service.": {
- "$ref": "./examples/BlobService/Get.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_Get",
- "description": "Returns the BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The BLOB service has been returned.",
- "schema": {
- "$ref": "#/definitions/BlobService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns the list of metric definitions for BLOB service.": {
- "$ref": "./examples/BlobService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_ListMetricDefinitions",
- "description": "Returns the list of metric definitions for BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions for the BLOB service has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for BLOB service.": {
- "$ref": "./examples/BlobService/ListMetrics.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_ListMetrics",
- "description": "Returns a list of metrics for BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "BlobServiceWritableSettings": {
- "description": "Settings of BLOB service.",
- "type": "object",
- "properties": {
- "blobSvcContainerGcInterval": {
- "description": "The interval, in seconds, of container garbage collection.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "blobSvcShallowGcInterval": {
- "description": "The interval ,in seconds, of shallow garbage collection.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "blobSvcStreamMapMinContainerOccupancyPercent": {
- "description": "The minimal container occupancy percent for stream mapping.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/WritableServiceSettings"
- }
- ]
- },
- "BlobServiceSettings": {
- "description": "Blob service settings.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/BlobServiceWritableSettings"
- }
- ]
- },
- "BlobServiceProperties": {
- "description": "Blob service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/BlobServiceSettings",
- "description": "Blob service settings.",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- },
- "BlobService": {
- "description": "The BLOB service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Blob service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/BlobServiceProperties",
- "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/2015-12-01/containers.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
deleted file mode 100644
index 2e39b9862f23..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
+++ /dev/null
@@ -1,449 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}": {
- "post": {
- "x-ms-examples": {
- "Cancel a container migration job.": {
- "$ref": "./examples/Containers/CancelMigration.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_CancelMigration",
- "description": "Cancel a container migration job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation has been accepted and processed",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- },
- "202": {
- "description": "ACCEPTED - Operation has been accepted will be processed asynchronously",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "get": {
- "x-ms-examples": {
- "Returns the status of a container migration job.": {
- "$ref": "./examples/Containers/MigrationStatus.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_MigrationStatus",
- "description": "Returns the status of a container migration job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation has been accepted and processed",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers": {
- "get": {
- "x-ms-examples": {
- "Returns the list of containers which can be migrated in the specified share.": {
- "$ref": "./examples/Containers/List.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_List",
- "description": "Returns the list of containers which can be migrated in the specified share.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MigrationIntentParameter"
- },
- {
- "$ref": "#/parameters/MaxCountParameter"
- },
- {
- "$ref": "#/parameters/StartIndexParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of containers has been returned.",
- "schema": {
- "$ref": "#/definitions/ContainerList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or share was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares": {
- "get": {
- "x-ms-examples": {
- "Returns a list of destination shares that the system considers as best candidates for migration.": {
- "$ref": "./examples/Containers/ListDestinationShares.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_ListDestinationShares",
- "description": "Returns a list of destination shares that the system considers as best candidates for migration.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of shares has been returned.",
- "schema": {
- "$ref": "shares.json#/definitions/ShareList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or share was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate": {
- "post": {
- "x-ms-examples": {
- "Starts a container migration job to migrate containers to the specified destination share.": {
- "$ref": "./examples/Containers/Migrate.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_Migrate",
- "description": "Starts a container migration job to migrate containers to the specified destination share.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MigrationParameterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Container has been migrated",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- },
- "202": {
- "description": "ACCEPTED -- Operation accepted and will be performed asynchronously",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- }
- },
- "definitions": {
- "Container": {
- "description": "Container properties.",
- "type": "object",
- "properties": {
- "sharename": {
- "description": "The name of the share where the container locates.",
- "type": "string",
- "readOnly": true
- },
- "accountname": {
- "description": "The name of storage account where the container locates.",
- "type": "string",
- "readOnly": true
- },
- "containername": {
- "description": "Container name.",
- "type": "string",
- "readOnly": true
- },
- "containerid": {
- "description": "The container ID.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "accountid": {
- "description": "The ID of the storage account.",
- "type": "string",
- "readOnly": true
- },
- "usedBytesInPrimaryVolume": {
- "description": "The used space, in bytes, of the container in the primary volume.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "containerState": {
- "description": "The current state of the container.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ContainerList": {
- "description": "List of containers.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Container"
- }
- },
- "MigrationResult": {
- "description": "The result of the container migration.",
- "type": "object",
- "properties": {
- "jobId": {
- "description": "The migration job ID.",
- "type": "string",
- "readOnly": true
- },
- "sourceShareName": {
- "description": "The name of the source storage share.",
- "type": "string",
- "readOnly": true
- },
- "storageAccountName": {
- "description": "The storage account name.",
- "type": "string",
- "readOnly": true
- },
- "containerName": {
- "description": "The name of the container to be migrated.",
- "type": "string",
- "readOnly": true
- },
- "destinationShareName": {
- "description": "The name of the destination storage share.",
- "type": "string",
- "readOnly": true
- },
- "migrationStatus": {
- "description": "The migration status.",
- "$ref": "#/definitions/MigrationState",
- "readOnly": true
- },
- "subEntitiesCompleted": {
- "description": "The number of entities which have been migrated.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "subEntitiesFailed": {
- "description": "The number of entities which failed in migration.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "failureReason": {
- "description": "The migration failure reason.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MigrationState": {
- "type": "string",
- "enum": [
- "Active",
- "Paused",
- "Deleted",
- "Rollback",
- "Complete",
- "Canceled",
- "Failed",
- "All"
- ],
- "x-ms-enum": {
- "name": "MigrationState",
- "modelAsString": true
- }
- },
- "MigrationParameters": {
- "description": "Parameters of container migration job.",
- "type": "object",
- "properties": {
- "storageAccountName": {
- "type": "string",
- "description": "The name of the storage account where the container locates."
- },
- "containerName": {
- "type": "string",
- "description": "The name of the container to be migrated."
- },
- "destinationShareUncPath": {
- "type": "string",
- "description": "The UNC path of the destination share for migration."
- }
- },
- "required": [
- "storageAccountName",
- "containerName",
- "destinationShareUncPath"
- ]
- }
- },
- "parameters": {
- "MigrationIntentParameter": {
- "description": "The container migration intent.",
- "name": "Intent",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "MaxCountParameter": {
- "description": "The maximum number of containers.",
- "name": "MaxCount",
- "in": "query",
- "type": "integer",
- "format": "int32",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "StartIndexParameter": {
- "description": "The starting index the resource provider uses.",
- "name": "StartIndex",
- "in": "query",
- "type": "integer",
- "format": "int32",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "MigrationParameterParameter": {
- "description": "The parameters of container migration job.",
- "name": "migrationParameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MigrationParameters"
- },
- "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/2015-12-01/examples/Acquisitions/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
deleted file mode 100644
index 7c6d91a23a52..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": []
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
deleted file mode 100644
index aff66c3516b5..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/blobservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/blobservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11000,
- "frontEndHttpsListenPort": 11100,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true,
- "blobSvcContainerGcInterval": 3600000,
- "blobSvcShallowGcInterval": 3600000,
- "blobSvcStreamMapMinContainerOccupancyPercent": 80
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
deleted file mode 100644
index 9f0a7bc3caa6..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,348 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (BlobService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total successful requests (BlobService)",
- "value": "SuccessfulRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (BlobService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (BlobService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (BlobService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (BlobFrontEnd)",
- "value": "BlobFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobFrontEnd)",
- "value": "BlobFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobFrontEnd)",
- "value": "BlobFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (BlobFrontEnd)",
- "value": "BlobFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (BlobFrontEnd)",
- "value": "BlobFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (BlobFrontEnd)",
- "value": "BlobFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (BlobServer)",
- "value": "BlobServerRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobServer)",
- "value": "BlobServerServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
deleted file mode 100644
index 294e21053efb..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (BlobFrontEnd)",
- "value": "BlobFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (BlobFrontEnd)",
- "value": "BlobFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (BlobFrontEnd)",
- "value": "BlobFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (BlobFrontEnd)",
- "value": "BlobFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (BlobFrontEnd)",
- "value": "BlobFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (BlobFrontEnd)",
- "value": "BlobFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (BlobServer)",
- "value": "BlobServerRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (BlobServer)",
- "value": "BlobServerServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 3.37839472205425,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 3.23720755548253,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 3.23283110690318,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 3.24997418164272,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 3.25500401782453,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 3.24891968824928,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 3.23743272199632,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 3.00302941330881,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 2.88515644890154,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2.8953629314371,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2.90971362786012,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2.9197896120973,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2.90887585146789,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2.89673016247954,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (BlobService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 514291.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 553823.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 550283.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 590665.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 602316.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 592653.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 592690.0
- }
- ],
- "name": {
- "localizedValue": "Total successful requests (BlobService)",
- "value": "SuccessfulRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 525915.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 565447.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 561886.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 602269.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 613916.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 604253.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 604290.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (BlobService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 1368310311.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 1404079959.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 1400057193.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 1445879884.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 1475166639.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 1463924092.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 1468371175.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (BlobService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 1042768756.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 1140164863.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 902184482.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 1173363120.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 1184912696.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 1175637645.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 1175858765.0
- }
- ],
- "name": {
- "localizedValue": "Egress (BlobService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
deleted file mode 100644
index 17f7173515c8..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "share": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "operationId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Canceled",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- },
- "202": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Rollback",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
deleted file mode 100644
index 1cd17ea41735..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "Intent": "Migration",
- "StartIndex": 0,
- "MaxCount": 1000,
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": [
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthrestrequestprocessed",
- "containerid": 22,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 2551603200,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthrestrequestaccept",
- "containerid": 23,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 2282553344,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "frphealthaccount",
- "containername": "azurestackhealthazssecurity",
- "containerid": 6,
- "accountid": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "usedBytesInPrimaryVolume": 880074752,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtsqueueresponse",
- "containerid": 30,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 560037888,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtsqueuerequest",
- "containerid": 26,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 541351936,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "hrphealthaccount",
- "containername": "azurestackhealthcentralmaeventtable",
- "containerid": 37,
- "accountid": "c2a6bdd19e404154afe27e2637e64ee1",
- "usedBytesInPrimaryVolume": 456925184,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthblobsvcrpcverbose",
- "containerid": 17,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 343273472,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "frphealthaccount",
- "containername": "azurestackhealthsystemperfcounter60s",
- "containerid": 7,
- "accountid": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "usedBytesInPrimaryVolume": 208580608,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtstableresponse",
- "containerid": 31,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 86974464,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtstablerequest",
- "containerid": 28,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 85082112,
- "containerState": "Active"
- }
- ]
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
deleted file mode 100644
index 3aad9bdbd061..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": []
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
deleted file mode 100644
index d342940f86e3..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview",
- "migrationParameters": {
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareUncPath": "\\\\192.168.1.1\\DestinationShare"
- }
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Complete",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- },
- "202": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Active",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
deleted file mode 100644
index d69c1287ff83..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "share": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "operationId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\192.168.1.1",
- "migrationStatus": "Active",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
deleted file mode 100644
index 841aa8f70f35..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "farmObject": {
- "properties": {
- "settingAccessString": "local"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
deleted file mode 100644
index 6816ce27792f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
deleted file mode 100644
index 21fb040c2211..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "operationId": "5ad334a7-4f51-141a-b52f-39a7df8d7033",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": "Failed?"
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
deleted file mode 100644
index 4eb058df2035..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
deleted file mode 100644
index b6074badfafd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage",
- "value": "ProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Available memory",
- "value": "AvailableMemory"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
deleted file mode 100644
index 0196e9d4b8ae..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage",
- "value": "ProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Available memory",
- "value": "AvailableMemory"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 389873692672.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 379637998762.66669,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 369550244352.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 359099803818.66669,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 348343386965.33331,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 338910678186.66669,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 330334962346.66669,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2338302955520.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2348538649429.3335,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2358626403840.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2369076844373.3335,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2379833261226.6665,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2389265970005.3335,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2397841685845.3335,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.14290632277436091,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.139154478510128,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.13545686075603133,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.13162630215189586,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.12768358940253569,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.12422607546738861,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.12108268816302059,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.857093677225639,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.86084552148987215,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.86454313924396864,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.86837369784810392,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.87231641059746445,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.8757739245326116,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.87891731183697941,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
deleted file mode 100644
index b6d7923bdb15..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {},
- "202": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
deleted file mode 100644
index 7e548541c6f9..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "farmObject": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
deleted file mode 100644
index 66abbd5596b3..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": []
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
deleted file mode 100644
index c2feb10ed55e..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/queueservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/queueservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11001,
- "frontEndHttpsListenPort": 11101,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
deleted file mode 100644
index 27b3fa0a8ad8..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,282 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (QueueService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (QueueService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (QueueService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (QueueService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (QueueFrontEnd)",
- "value": "QueueFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueFrontEnd)",
- "value": "QueueFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueFrontEnd)",
- "value": "QueueFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (QueueFrontEnd)",
- "value": "QueueFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (QueueFrontEnd)",
- "value": "QueueFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (QueueFrontEnd)",
- "value": "QueueFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
deleted file mode 100644
index fc52b57ae9c6..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
+++ /dev/null
@@ -1,324 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (QueueFrontEnd)",
- "value": "QueueFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (QueueFrontEnd)",
- "value": "QueueFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (QueueFrontEnd)",
- "value": "QueueFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (QueueFrontEnd)",
- "value": "QueueFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (QueueFrontEnd)",
- "value": "QueueFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (QueueFrontEnd)",
- "value": "QueueFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 1.88592776264484,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 1.85851217466339,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 1.87040051806059,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 1.90624102793048,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 1.93359342860519,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 1.91756062246845,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 1.90350660188966,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 1.81003101711863,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 1.78567652998375,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 1.79746391271282,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 1.83270876455636,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 1.85885443391132,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 1.84392369316924,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 1.82936276116956,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (QueueService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 709694.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 706686.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 706644.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 707869.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 711097.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 711197.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 713652.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (QueueService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 330187754.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 328237824.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 328220543.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 328897291.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 330626016.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 330693320.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 332315876.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (QueueService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 179169105.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 178217533.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 178211569.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 178640382.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 179836179.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 179870886.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 180647853.0
- }
- ],
- "name": {
- "localizedValue": "Egress (QueueService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
deleted file mode 100644
index 28b75fe77346..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-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
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
deleted file mode 100644
index 63701114cbee..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {},
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
deleted file mode 100644
index 6e845afce0db..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-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
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
deleted file mode 100644
index d88b9eb963c7..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "api-version": "2015-12-01-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
- }
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
deleted file mode 100644
index 21044b068cb5..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/shares/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "type": "Microsoft.Storage.Admin/farms/shares",
- "location": "local",
- "properties": {
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "uncPath": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "totalCapacity": 2728176648192,
- "usedCapacity": 400509059072,
- "freeCapacity": 2327667589120,
- "healthStatus": "Healthy"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
deleted file mode 100644
index e21e6a426129..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/shares/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "type": "Microsoft.Storage.Admin/farms/shares",
- "location": "local",
- "properties": {
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "uncPath": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "totalCapacity": 2728176648192,
- "usedCapacity": 400509059072,
- "freeCapacity": 2327667589120,
- "healthStatus": "Healthy"
- }
- }
- ]
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
deleted file mode 100644
index 8edc56a3e5bd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
deleted file mode 100644
index 6a97f4850111..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
+++ /dev/null
@@ -1,218 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 389873692672.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 379637998762.66669,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 369550244352.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 359099803818.66669,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 348343386965.33331,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 338910678186.66669,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 330334962346.66669,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2338302955520.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2348538649429.3335,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2358626403840.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2369076844373.3335,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2379833261226.6665,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2389265970005.3335,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2397841685845.3335,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.14290632277436091,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.139154478510128,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.13545686075603133,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.13162630215189586,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.12768358940253569,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.12422607546738861,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.12108268816302059,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.857093677225639,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.86084552148987215,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.86454313924396864,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.86837369784810392,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.87231641059746445,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.8757739245326116,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.87891731183697941,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
deleted file mode 100644
index 0cad5ac1196e..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T01:56:30.983"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
deleted file mode 100644
index cf1c7933e60a..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "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/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/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",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "17829fa81c154239ad8a6fae05f44793",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:15.38"
- }
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
deleted file mode 100644
index d77de1a2e26f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "parameters": {},
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
deleted file mode 100644
index d77de1a2e26f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "parameters": {},
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
deleted file mode 100644
index b8ac3474da2c..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
deleted file mode 100644
index 779bc9f7fe55..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/tableservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/tableservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11002,
- "frontEndHttpsListenPort": 11102,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
deleted file mode 100644
index a9833dd670be..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,502 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (TableService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (TableService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (TableService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (TableService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableFrontEnd)",
- "value": "TableFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableFrontEnd)",
- "value": "TableFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableFrontEnd)",
- "value": "TableFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (TableFrontEnd)",
- "value": "TableFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (TableFrontEnd)",
- "value": "TableFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableFrontEnd)",
- "value": "TableFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableMaster)",
- "value": "TableMasterRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Successful requests per second (TableMaster)",
- "value": "TableMasterSuccessfulRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Failed requests per second (TableMaster)",
- "value": "TableMasterFailedRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableMaster)",
- "value": "TableMasterServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableMaster)",
- "value": "TableMasterProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableServer)",
- "value": "TableServerRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Successful requests per second (TableServer)",
- "value": "TableServerSuccessfulRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Failed requests per second (TableServer)",
- "value": "TableServerFailedRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableServer)",
- "value": "TableServerServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableServer)",
- "value": "TableServerProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
deleted file mode 100644
index eef9e85e1666..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
+++ /dev/null
@@ -1,434 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableFrontEnd)",
- "value": "TableFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (TableFrontEnd)",
- "value": "TableFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableFrontEnd)",
- "value": "TableFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (TableFrontEnd)",
- "value": "TableFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (TableFrontEnd)",
- "value": "TableFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableFrontEnd)",
- "value": "TableFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableMaster)",
- "value": "TableMasterRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Successful requests per second (TableMaster)",
- "value": "TableMasterSuccessfulRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Failed requests per second (TableMaster)",
- "value": "TableMasterFailedRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableMaster)",
- "value": "TableMasterServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableMaster)",
- "value": "TableMasterProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableServer)",
- "value": "TableServerRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Successful requests per second (TableServer)",
- "value": "TableServerSuccessfulRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Failed requests per second (TableServer)",
- "value": "TableServerFailedRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableServer)",
- "value": "TableServerServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableServer)",
- "value": "TableServerProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 7.29314082130133,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 7.29242044505202,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 7.45627809068669,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 7.30089294071398,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 7.72399956185191,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 7.60159978218237,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 7.47610318708534,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 6.35217701106319,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 6.33429027113238,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 6.48739451176727,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 6.32658791815646,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 6.7042208266394,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 6.63925794831982,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 6.49650197949997,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 99.9981206752038,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (TableService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 269054.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 265771.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 266053.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 269687.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 276294.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 274176.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 279001.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (TableService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 511130540.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 503169523.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 507168827.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 568486028.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 700065592.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 690837578.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 695035903.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (TableService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 6755876285.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 6754791566.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 6756295607.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 6762121121.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 6787273660.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 6749797687.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 6790505524.0
- }
- ],
- "name": {
- "localizedValue": "Egress (TableService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
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
deleted file mode 100644
index 587563b84a40..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
+++ /dev/null
@@ -1,656 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}": {
- "put": {
- "x-ms-examples": {
- "Create a new storage farm.": {
- "$ref": "./examples/Farms/Create.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Create a new storage farm.",
- "operationId": "Farms_Create",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "description": "Parameters used to create a farm",
- "name": "farmObject",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FarmCreationProperties"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The new storage farm has been created.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- }
- },
- "get": {
- "x-ms-examples": {
- "Returns the Storage properties and settings for a specified storage farm.": {
- "$ref": "./examples/Farms/Get.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns the Storage properties and settings for a specified storage farm.",
- "operationId": "Farms_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The farm has been returned.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- },
- "patch": {
- "x-ms-examples": {
- "Update an existing storage farm.": {
- "$ref": "./examples/Farms/Update.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Update an existing storage farm.",
- "operationId": "Farms_Update",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "description": "Farm to update.",
- "name": "farmObject",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The properties and settings of storage farm have been updated.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for a storage farm.": {
- "$ref": "./examples/Farms/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of metric definitions for a storage farm.",
- "operationId": "Farms_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage farm metrics.": {
- "$ref": "./examples/Farms/ListMetrics.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of storage farm metrics.",
- "operationId": "Farms_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms": {
- "get": {
- "x-ms-examples": {
- "Returns a list of all storage farms.": {
- "$ref": "./examples/Farms/List.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of all storage farms.",
- "operationId": "Farms_List",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage farms has been returned.",
- "schema": {
- "$ref": "#/definitions/FarmList"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc": {
- "post": {
- "x-ms-examples": {
- "Start garbage collection on deleted storage objects.": {
- "$ref": "./examples/Farms/StartGarbageCollection.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "operationId": "Farms_StartGarbageCollection",
- "description": "Start garbage collection on deleted storage objects.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Garbage collection has completed."
- },
- "202": {
- "description": "ACCEPTED -- Garbage collection has started."
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}": {
- "get": {
- "x-ms-examples": {
- "Returns the state of the garbage collection job.": {
- "$ref": "./examples/Farms/GetGarbageCollectionState.json"
- }
- },
- "tags": [
- "GC"
- ],
- "operationId": "Farms_GetGarbageCollectionState",
- "description": "Returns the state of the garbage collection job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The state of garbage collection has been returned.",
- "schema": {
- "type": "string"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or garbage collection job can not be found."
- }
- }
- }
- }
- },
- "definitions": {
- "FarmList": {
- "description": "Pageable list of storage farms.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of storage farms.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Farm"
- }
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "FarmCreationProperties": {
- "description": "Storage farm properties.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage farm properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/SettingAccessString"
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "Farm": {
- "description": "Storage farm.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage farm properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FarmProperties"
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "FarmSettings": {
- "description": "Storage farm settings.",
- "type": "object",
- "properties": {
- "settingsPollingIntervalInSecond": {
- "description": "The polling interval (in second).",
- "type": "integer",
- "format": "int32"
- },
- "retentionPeriodForDeletedStorageAccountsInDays": {
- "description": "The retention period (in days) for deleted storage account.",
- "type": "integer",
- "format": "int32"
- },
- "hostStyleHttpPort": {
- "description": "Host style HTTP port.",
- "type": "integer",
- "format": "int32"
- },
- "hostStyleHttpsPort": {
- "description": "Host style HTTPs port.",
- "type": "integer",
- "format": "int32"
- },
- "corsAllowedOriginsList": {
- "description": "The list of allowed origins.",
- "type": "string"
- },
- "dataCenterUriHostSuffixes": {
- "description": "The suffixes of URI of hosts in data center.",
- "type": "string"
- },
- "bandwidthThrottleIsEnabled": {
- "description": "Switch of bandwidth throttle enablement.",
- "type": "boolean"
- },
- "usageCollectionIntervalInSeconds": {
- "description": "Interval (in seconds) of storage usage collection.",
- "type": "integer",
- "format": "int32"
- },
- "feedbackRefreshIntervalInSeconds": {
- "description": "Interval (in seconds) of feedback refresh.",
- "type": "integer",
- "format": "int32"
- },
- "numberOfAccountsToSync": {
- "description": "Number of accounts to sync.",
- "type": "integer",
- "format": "int32"
- },
- "defaultThrottleProbabilityDecayIntervalInSeconds": {
- "description": "Interval (in seconds) of default throttle probability decay.",
- "type": "integer",
- "format": "int32"
- },
- "gracePeriodForFullThrottlingInRefreshIntervals": {
- "description": "Grace period for full throttling in refresh intervals.",
- "type": "integer",
- "format": "int32"
- },
- "gracePeriodMaxThrottleProbability": {
- "description": "Maximum probability of throttle in grace period.",
- "type": "number",
- "format": "float"
- },
- "overallRequestThresholdInTps": {
- "description": "Overall request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "defaultRequestThresholdInTps": {
- "description": "Default request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "minimumRequestThresholdInTps": {
- "description": "Minimum request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTps": {
- "description": "Tolerance factor for TPS.",
- "type": "number",
- "format": "float"
- },
- "overallIngressThresholdInGbps": {
- "description": "Overall ingress threshold (in Gbps)",
- "type": "number",
- "format": "float"
- },
- "defaultIngressThresholdInGbps": {
- "description": "Default ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIngressThresholdInGbps": {
- "description": "Minimum ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIngress": {
- "description": "Tolerance factor for ingress.",
- "type": "number",
- "format": "float"
- },
- "overallIntranetIngressThresholdInGbps": {
- "description": "Overall Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultIntranetIngressThresholdInGbps": {
- "description": "Default Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIntranetIngressThresholdInGbps": {
- "description": "Minimum Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIntranetIngress": {
- "description": "Tolerance factor for Intranet ingress.",
- "type": "number",
- "format": "float"
- },
- "overallEgressThresholdInGbps": {
- "description": "Overall egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultEgressThresholdInGbps": {
- "description": "Default egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumEgressThresholdInGbps": {
- "description": "Minimum egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForEgress": {
- "description": "Tolerance factor for egress.",
- "type": "number",
- "format": "float"
- },
- "overallIntranetEgressThresholdInGbps": {
- "description": "Overall Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultIntranetEgressThresholdInGbps": {
- "description": "Default Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIntranetEgressThresholdInGbps": {
- "description": "Minimum Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIntranetEgress": {
- "description": "Tolerance factor for Intranet egress.",
- "type": "number",
- "format": "float"
- },
- "overallTotalIngressThresholdInGbps": {
- "description": "Overall total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultTotalIngressThresholdInGbps": {
- "description": "Default total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumTotalIngressThresholdInGbps": {
- "description": "Minimum total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTotalIngress": {
- "description": "Tolerance factor for total ingress.",
- "type": "number",
- "format": "float"
- },
- "overallTotalEgressThresholdInGbps": {
- "description": "Overall total egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultTotalEgressThresholdInGbps": {
- "description": "Default total egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumTotalEgressThresholdInGbps": {
- "description": "Minimum total egress threshold (in Gbp",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTotalEgress": {
- "description": "Tolerance factor for total egress.",
- "type": "number",
- "format": "float"
- }
- }
- },
- "FarmProperties": {
- "description": "The properties of storage farm.",
- "type": "object",
- "properties": {
- "farmId": {
- "description": "Farm identifier.",
- "type": "string"
- },
- "version": {
- "description": "Resource version.",
- "type": "string"
- },
- "settingsStore": {
- "description": "The settings of storage farm.",
- "type": "string"
- },
- "settings": {
- "description": "The properties of storage farm.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FarmSettings"
- }
- }
- },
- "SettingAccessString": {
- "description": "Setting access string.",
- "type": "object",
- "properties": {
- "settingAccessString": {
- "description": "Setting access string.",
- "type": "string"
- }
- }
- }
- },
- "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/2015-12-01/queueServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
deleted file mode 100644
index a8c68ca4c60f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the queue service.": {
- "$ref": "./examples/QueueService/Get.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns the queue service.",
- "operationId": "QueueServices_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Queue service has been returned.",
- "schema": {
- "$ref": "#/definitions/QueueService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for queue service.": {
- "$ref": "./examples/QueueService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns a list of metric definitions for queue service.",
- "operationId": "QueueServices_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for the queue service.": {
- "$ref": "./examples/QueueService/ListMetrics.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns a list of metrics for the queue service.",
- "operationId": "QueueServices_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "QueueServiceProperties": {
- "description": "Queue service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "description": "Queue service settings.",
- "x-ms-client-flatten": true,
- "$ref": "storage.json#/definitions/WritableServiceSettings",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- },
- "QueueService": {
- "description": "Queue service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Queue service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/QueueServiceProperties",
- "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/2015-12-01/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
deleted file mode 100644
index f047fdcf2d4d..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
+++ /dev/null
@@ -1,263 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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/StorgeQuotaParameters"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage quota has been created or updated.",
- "schema": {
- "$ref": "#/definitions/StorageQuota"
- }
- },
- "404": {
- "description": "NOT FOUND -- The location or quota was not found."
- }
- }
- },
- "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."
- },
- "404": {
- "description": "NOT FOUND -- The location or storage quota cannot be found."
- }
- }
- },
- "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"
- }
- },
- "404": {
- "description": "NOT FOUND -- The location or storage quota cannot be found."
- }
- }
- }
- },
- "/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"
- }
- },
- "404": {
- "description": "OK -- The location does not exist."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "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"
- }
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "QuotaNameParameter": {
- "description": "The name of the storage quota.",
- "name": "quotaName",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "StorgeQuotaParameters": {
- "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/2015-12-01/shares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
deleted file mode 100644
index 4d978bc695cd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
+++ /dev/null
@@ -1,278 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage shares.": {
- "$ref": "./examples/Shares/List.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of storage shares.",
- "operationId": "Shares_List",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage shares has been returned.",
- "schema": {
- "$ref": "#/definitions/ShareList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for a storage share.": {
- "$ref": "./examples/Shares/ListMetrics.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of metrics for a storage share.",
- "operationId": "Shares_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm or share cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for a storage share.": {
- "$ref": "./examples/Shares/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of metric definitions for a storage share.",
- "operationId": "Shares_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}": {
- "get": {
- "x-ms-examples": {
- "Returns a storage share.": {
- "$ref": "./examples/Shares/Get.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a storage share.",
- "operationId": "Shares_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage share has been returned.",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm or storage share cannot be found."
- }
- }
- }
- }
- },
- "definitions": {
- "Share": {
- "description": "Storage share.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage share properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ShareProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "ShareList": {
- "description": "List of storage shares.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Share"
- }
- },
- "ShareProperties": {
- "description": "Storage share properties.",
- "type": "object",
- "properties": {
- "shareName": {
- "description": "The name of the storage share.",
- "type": "string",
- "readOnly": true
- },
- "uncPath": {
- "description": "The UNC path to the storage share.",
- "type": "string",
- "readOnly": true
- },
- "totalCapacity": {
- "description": "The total capacity of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "usedCapacity": {
- "description": "The used capacity of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "freeCapacity": {
- "description": "The free space of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "healthStatus": {
- "description": "The health status of the storage share.",
- "$ref": "storage.json#/definitions/HealthStatus",
- "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/2015-12-01/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
deleted file mode 100644
index 087898639205..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
+++ /dev/null
@@ -1,570 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "WritableSettings": {
- "description": "Storage service settings.",
- "type": "object",
- "properties": {
- "frontEndCallbackThreadsCount": {
- "description": "Front end callback threads count.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndCpuBasedKeepAliveThrottlingEnabled": {
- "description": "Switch of front end CPU based keep-alive throttling.",
- "type": "boolean"
- },
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": {
- "description": "Threshold (% percentage) of front end CPU based keep-alive throttling.",
- "type": "number",
- "format": "float"
- },
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": {
- "description": "Threshold (% percentage) of requests to throttle in front end CPU based keep-alive throttling.",
- "type": "number",
- "format": "float"
- },
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": {
- "description": "Interval (in second) of CPU monitor for front end CPU based keep-alive throttling.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndMemoryThrottlingEnabled": {
- "description": "Switch of front end memory throttling.",
- "type": "boolean"
- },
- "frontEndMaxMillisecondsBetweenMemorySamples": {
- "description": "Maximum interval (in millisecond) between memory samples of front end.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndMemoryThrottleThresholdSettings": {
- "description": "Front end memory throttle threshold settings.",
- "type": "string"
- },
- "frontEndMinThreadPoolThreads": {
- "description": "Front end minimum number of threads in thread pool.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": {
- "description": "Threshold of front end thread pool based keep-alive IO completion.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": {
- "description": "Threshold of front end thread pool based keep-alive worker thread.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": {
- "description": "Monitor interval (in seconds) of front end thread pool based keep-alive monitor.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAlivePercentage": {
- "description": "Percentage (%) of front end thread pool based keep-alive.",
- "type": "number",
- "format": "float"
- },
- "frontEndUseSlaTimeInAvailability": {
- "description": "Switch of whether front end uses SLA time in availability.",
- "type": "boolean"
- }
- }
- },
- "WritableServiceSettings": {
- "description": "Settings of storage services.",
- "type": "object",
- "properties": {
- "frontEndHttpsListenPort": {
- "description": "The HTTPs port of the storage service front end.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndHttpListenPort": {
- "description": "The HTTP port of the storage service front end.",
- "type": "integer",
- "format": "int32"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/WritableSettings"
- }
- ]
- },
- "LocalizableString": {
- "description": "Localizable string.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Value of the string.",
- "type": "string"
- },
- "localizedValue": {
- "description": "Localized value of the string.",
- "type": "string"
- }
- }
- },
- "MetricAvailability": {
- "description": "Metric availability.",
- "type": "object",
- "properties": {
- "timeGrain": {
- "description": "Time grain.",
- "type": "string"
- },
- "retention": {
- "description": "Retention of metric.",
- "type": "string"
- }
- }
- },
- "AggregateType": {
- "description": "Aggregate type.",
- "readOnly": true,
- "type": "string",
- "enum": [
- "None",
- "Average",
- "Total",
- "Minimum",
- "Maximum",
- "Last"
- ],
- "x-ms-enum": {
- "name": "AggregateType",
- "modelAsString": true
- }
- },
- "MetricUnit": {
- "description": "Metric unit.",
- "type": "string",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "CountPerSecond",
- "BytesPerSecond"
- ],
- "x-ms-enum": {
- "name": "MetricUnit",
- "modelAsString": true
- }
- },
- "MetricDefinition": {
- "description": "Metric definition.",
- "type": "object",
- "properties": {
- "name": {
- "description": "Metric name.",
- "$ref": "#/definitions/LocalizableString",
- "readOnly": true
- },
- "unit": {
- "description": "Metric unit.",
- "$ref": "#/definitions/MetricUnit",
- "readOnly": true
- },
- "primaryAggregationType": {
- "description": "Aggregation type of metric.",
- "$ref": "#/definitions/AggregateType",
- "readOnly": true
- },
- "metricAvailabilities": {
- "description": "Metric availabilities.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricAvailability"
- },
- "readOnly": true
- }
- }
- },
- "Metric": {
- "description": "Metric information.",
- "type": "object",
- "properties": {
- "name": {
- "description": "Metric Name.",
- "$ref": "#/definitions/LocalizableString",
- "readOnly": true
- },
- "metricUnit": {
- "description": "Metric Unit.",
- "$ref": "#/definitions/MetricUnit",
- "readOnly": true
- },
- "timeGrain": {
- "description": "Metric time grain.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "description": "Metric start time.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "endTime": {
- "description": "Metric end time.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "metricValues": {
- "description": "List of metric values.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricValue"
- },
- "readOnly": true
- }
- }
- },
- "MetricDefinitionList": {
- "description": "Pageable list of metric definitions.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of metric definitions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricDefinition"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MetricList": {
- "description": "Pageable list of metrics.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of metrics.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Metric"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MetricValue": {
- "description": "Metric value.",
- "properties": {
- "timeStamp": {
- "description": "Timestamp of metric value.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "average": {
- "description": "Average value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "minimum": {
- "description": "Minimum value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "maximum": {
- "description": "Maximum value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "total": {
- "description": "Total value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "count": {
- "description": "Count of metric values.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "properties": {
- "description": "Metric value properties.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "HealthStatus": {
- "readOnly": true,
- "description": "Current health status.",
- "type": "string",
- "enum": [
- "Unknown",
- "Healthy",
- "Warning",
- "Critical"
- ],
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "Resource": {
- "description": "Base resource object.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Resource ID.",
- "type": "string"
- },
- "name": {
- "description": "Resource Name.",
- "type": "string"
- },
- "type": {
- "description": "Resource type.",
- "type": "string"
- },
- "location": {
- "description": "Resource location.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "x-ms-azure-resource": true
- },
- "Service": {
- "description": "Storage service.",
- "properties": {
- "version": {
- "description": "Storage service version.",
- "type": "string"
- },
- "healthStatus": {
- "description": "Health status of storage service.",
- "$ref": "#/definitions/HealthStatus"
- }
- }
- },
- "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"
- }
- },
- "nextLink": {
- "description": "URI to the next page of operations.",
- "type": "string",
- "readOnly": true
- }
- }
- }
- },
- "parameters": {
- "ServiceTypeParameter": {
- "description": "The service type.",
- "name": "serviceType",
- "type": "string",
- "in": "path",
- "required": true,
- "enum": [
- "default"
- ],
- "x-ms-enum": {
- "name": "ServiceType",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- },
- "ShareNameParameter": {
- "description": "Share name.",
- "name": "shareName",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "FilterParameter": {
- "description": "Filter string",
- "name": "$filter",
- "type": "string",
- "in": "query",
- "x-ms-parameter-location": "method"
- },
- "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
- },
- "FarmIdParameter": {
- "description": "Farm Id.",
- "type": "string",
- "name": "farmId",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "ApiVersionParameter": {
- "description": "REST Api Version.",
- "name": "api-version",
- "type": "string",
- "in": "query",
- "required": true
- },
- "ResourceGroupNameParameter": {
- "description": "Resource group name.",
- "name": "resourceGroupName",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "OperationIdParameter": {
- "description": "Operation Id.",
- "name": "operationId",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ]
-}
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
deleted file mode 100644
index 7563995ee609..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
+++ /dev/null
@@ -1,441 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/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/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SummaryParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage accounts has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageAccountList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/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/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "#/parameters/AccountIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage account has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageAccount"
- }
- },
- "404": {
- "description": "NOT FOUND -- The storage account or farm was not found."
- }
- }
- },
- "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.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "#/parameters/AccountIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Undelete either has been performed or account was not deleted."
- }
- }
- }
- }
- },
- "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
- }
- },
- "StorageAccountOperation": {
- "readOnly": true,
- "description": "The permissions of storage account in WAC.",
- "type": "string",
- "enum": [
- "None",
- "Create",
- "Update",
- "Suspend",
- "Delete",
- "Undelete"
- ],
- "x-ms-enum": {
- "name": "StorageAccountOperation",
- "modelAsString": true
- }
- },
- "StorageAccountStatus": {
- "description": "The state of storage account in WAC.",
- "type": "string",
- "enum": [
- "Active",
- "Deleted",
- "OutOfRetentionPeriod",
- "Recycled"
- ],
- "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"
- ],
- "x-ms-enum": {
- "name": "WacAccountStates",
- "modelAsString": 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
- },
- "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
- },
- "currentOperation": {
- "description": "Current operation being performed on Storage Account",
- "$ref": "#/definitions/StorageAccountOperation",
- "readOnly": true
- },
- "customDomain": {
- "description": "The custom domain the user assigned to this storage account.",
- "type": "string",
- "readOnly": true
- },
- "acquisitionOperationCount": {
- "description": "The count of acquisitions in the storage account.",
- "type": "integer",
- "format": "int32",
- "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."
- },
- "recoveredTime": {
- "description": "The time when the storage account is undeleted.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "recycledTime": {
- "description": "The time when the storage account is physically deleted.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "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
- },
- "resourceAdminApiVersion": {
- "description": "Storage admin REST API version.",
- "type": "string",
- "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
- }
- },
- "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
- },
- "nextLink": {
- "description": "URI to the next page.",
- "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"
- },
- "SummaryParameter": {
- "description": "Switch for whether summary or detailed information is returned.",
- "name": "summary",
- "in": "query",
- "required": true,
- "type": "boolean",
- "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/2015-12-01/tableServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
deleted file mode 100644
index 044c0874eea1..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-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}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the table service.": {
- "$ref": "./examples/TableService/Get.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns the table service.",
- "operationId": "TableServices_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Table service has been returned.",
- "schema": {
- "$ref": "#/definitions/TableService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for table service.": {
- "$ref": "./examples/TableService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns a list of metric definitions for table service.",
- "operationId": "TableServices_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for table service.": {
- "$ref": "./examples/TableService/ListMetrics.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns a list of metrics for table service.",
- "operationId": "TableServices_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "TableService": {
- "description": "Table service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Table service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/TableServiceProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "TableServiceProperties": {
- "description": "Table service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "description": "Table service settings.",
- "x-ms-client-flatten": true,
- "$ref": "storage.json#/definitions/WritableServiceSettings",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- }
- },
- "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/AsyncOperations/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/AsyncOperations/Get.json
new file mode 100644
index 000000000000..5585f839670a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/AsyncOperations/Get.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "asyncOperationId": "40cb64a9-e1b2-4915-b6af-30861fb3d01f",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
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
index ddf05209bef8..92c56e8d0a3d 100644
--- 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
@@ -13,6 +13,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "f93c9df9e7af487fbda484a9201d9c18",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -27,11 +28,10 @@
"tenantStorageAccountName": "authprod",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T01:56:30.983"
+ "creationTime": "2018-01-17T01:56:30.983",
+ "healthState": "Healthy"
}
}
}
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
index ed522d0ea736..1989cf637dff 100644
--- 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
@@ -14,6 +14,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "0180624c67694706a4066782d83057a5",
"location": "local",
+ "kind": "StorageV2",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -28,11 +29,11 @@
"tenantStorageAccountName": "adminkvlclproddata004",
"tenantResourceGroupName": "system.local.adminkeyvault",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "0180624c67694706a4066782d83057a5",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:27.41"
+ "creationTime": "2018-01-17T02:10:27.41",
+ "accessTier": "Cool",
+ "healthState": "Healthy"
}
},
{
@@ -40,6 +41,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "04106a84393f4a12ab8efdbc0a69bb65",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -54,11 +56,10 @@
"tenantStorageAccountName": "adminkvlclproddata005",
"tenantResourceGroupName": "system.local.adminkeyvault",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "04106a84393f4a12ab8efdbc0a69bb65",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:27.847"
+ "creationTime": "2018-01-17T02:10:27.847",
+ "healthState": "Healthy"
}
},
{
@@ -66,6 +67,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "06e296e00b284f5cb5708dfabd6ad74c",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -80,11 +82,10 @@
"tenantStorageAccountName": "wasphealthaccount",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "06e296e00b284f5cb5708dfabd6ad74c",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:12.47"
+ "creationTime": "2018-01-17T02:10:12.47",
+ "healthState": "Healthy"
}
},
{
@@ -92,6 +93,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "0a6b4f6b1de14cc08aa1fefadcc481eb",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -106,11 +108,10 @@
"tenantStorageAccountName": "frphealthaccount",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:02.527"
+ "creationTime": "2018-01-17T02:10:02.527",
+ "healthState": "Healthy"
}
},
{
@@ -118,6 +119,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "0d724e3f75004e48948c1bfa0b4a964a",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -132,11 +134,10 @@
"tenantStorageAccountName": "systemgallery",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "0d724e3f75004e48948c1bfa0b4a964a",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T01:56:29.467"
+ "creationTime": "2018-01-17T01:56:29.467",
+ "healthState": "Healthy"
}
},
{
@@ -144,6 +145,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "0dda0879146341178603ba151d7da010",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -158,11 +160,10 @@
"tenantStorageAccountName": "nrpeventsaccount",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "0dda0879146341178603ba151d7da010",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:23.84"
+ "creationTime": "2018-01-17T02:10:23.84",
+ "healthState": "Healthy"
}
},
{
@@ -170,6 +171,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "15612011f6094654abcb6031a4394ef5",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -184,11 +186,10 @@
"tenantStorageAccountName": "kvrphealthaccount",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "15612011f6094654abcb6031a4394ef5",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:36.193"
+ "creationTime": "2018-01-17T02:10:36.193",
+ "healthState": "Healthy"
}
},
{
@@ -196,6 +197,7 @@
"type": "Microsoft.Storage.Admin/storageaccounts",
"name": "17829fa81c154239ad8a6fae05f44793",
"location": "local",
+ "kind": "Storage",
"properties": {
"provisioningState": "Succeeded",
"primaryEndpoints": {
@@ -210,11 +212,10 @@
"tenantStorageAccountName": "srpusageaccount",
"tenantResourceGroupName": "system.local",
"accountStatus": "Active",
- "permissions": "Full",
"accountId": "17829fa81c154239ad8a6fae05f44793",
- "wacInternalState": "Active",
"accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:15.38"
+ "creationTime": "2018-01-17T02:10:15.38",
+ "healthState": "Healthy"
}
}
]
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json
new file mode 100644
index 000000000000..32602a1c222f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "serviceName": "PageBlob",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json
new file mode 100644
index 000000000000..7d0b86e2a57f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "BlockBlob"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json
new file mode 100644
index 000000000000..c5d5346a3f7d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "BlockBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "Table"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "Queue"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json
new file mode 100644
index 000000000000..08379c802bae
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "serviceName": "PageBlob",
+ "api-version": "2019-08-08-preview",
+ "storageServiceObject": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ }
+ }
+}
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
index 00f6b00027b6..a8039c32be30 100644
--- 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
@@ -48,6 +48,205 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/asyncOperations/{asyncOperationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the async operation specified by asyncOperationId.": {
+ "$ref": "./examples/AsyncOperations/Get.json"
+ }
+ },
+ "tags": [
+ "AsyncOperations"
+ ],
+ "operationId": "AsyncOperations_Get",
+ "description": "Returns the async operation specified by asyncOperationId.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/AsyncOperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The async operation has been returned.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationModel"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the storage services list under the specified resource group and subscription.": {
+ "$ref": "./examples/StorageServices/ListResourceGroup.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_ListRG",
+ "description": "Returns the storage services list under the specified resource group and subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage services has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageServiceList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/storageServices": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the storage services list under the specified subscription.": {
+ "$ref": "./examples/StorageServices/ListSubscription.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_ListSub",
+ "description": "Returns the storage services list under the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage services has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageServiceList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices/{serviceName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified storage service.": {
+ "$ref": "./examples/StorageServices/Get.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_Get",
+ "description": "Returns the specified storage service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The specified storage service has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create the specified storage resource.": {
+ "$ref": "./examples/StorageServices/Put.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_Create",
+ "description": "Create the specified storage resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The specified storage service has been created.",
+ "schema": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -103,6 +302,141 @@
}
}
},
+ "ServiceNameProperties": {
+ "description": "The properties for service name.",
+ "type": "object",
+ "properties": {
+ "serviceName": {
+ "description": "Service Name for Storage Service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageService": {
+ "description": "MDM storage service resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties for service name.",
+ "$ref": "#/definitions/ServiceNameProperties",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "StorageServiceList": {
+ "description": "List for storage services.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "AsyncOperationModel": {
+ "description": "The async operation body for srp request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The operation id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationStartTime": {
+ "description": "Operation start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationEndTime": {
+ "description": "Operation end time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Subscription id for async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locationHeader": {
+ "description": "Location header for async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatus": {
+ "description": "Http status for the async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "response": {
+ "description": "Response for the async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "context": {
+ "description": "Operation context.",
+ "$ref": "#/definitions/OperationRequestContext",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Async operation content.",
+ "$ref": "#/definitions/AsyncOperation",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ }
+ },
+ "OperationRequestContext": {
+ "description": "Operation request context.",
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "description": "Operation api version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "activityId": {
+ "description": "Activity id for the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationName": {
+ "description": "Async operation name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorCode": {
+ "description": "Async operation error code if operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "runtimeException": {
+ "description": "Runtime exception if operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time for the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AsyncOperation": {
+ "description": "Async operation content",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Async operation name",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"ErrorResponse": {
"description": "The error response for request which failed.",
"type": "object",
@@ -181,7 +515,32 @@
"name": "subscriptionId",
"type": "string",
"in": "path",
- "required": true
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "AsyncOperationIdParameter": {
+ "description": "Async Operation Id.",
+ "name": "asyncOperationId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "description": "Resource group name.",
+ "name": "resourceGroup",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "StorageServiceNameParameter": {
+ "description": "Storage service name.",
+ "name": "serviceName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
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
index ddebe4a38cbd..58bf10a44dd3 100644
--- 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
@@ -16,7 +16,7 @@
"application/json"
],
"paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts": {
"get": {
"x-ms-examples": {
"Returns a list of storage accounts.": {
@@ -64,7 +64,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts/{accountId}": {
"get": {
"x-ms-examples": {
"Returns the requested storage account.": {
@@ -106,7 +106,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}/undelete": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts/{accountId}/undelete": {
"post": {
"x-ms-examples": {
"Undelete a deleted storage account.": {
@@ -206,8 +206,7 @@
"type": "string",
"enum": [
"Creating",
- "Succeeded",
- "Suspended"
+ "Succeeded"
],
"x-ms-enum": {
"name": "StorageAccountState",
@@ -254,36 +253,42 @@
"modelAsString": true
}
},
- "WacAccountPermissions": {
- "description": "Current operation being performed on Storage Account",
+ "StorageAccountKind": {
+ "description": "The kind of storage account",
"type": "string",
"enum": [
- "Empty",
- "None",
- "Read",
- "Delete",
- "Write",
- "Full"
+ "Storage",
+ "StorageV2",
+ "BlobStorage"
],
"x-ms-enum": {
- "name": "WacAccountPermissions",
+ "name": "StorageAccountKind",
"modelAsString": true
}
},
- "WacAccountStates": {
- "description": "Current operation being performed on Storage Account",
+ "StorageAccountAccessTier": {
+ "description": "Access tier for storage account",
"type": "string",
"enum": [
- "None",
- "Active",
- "Deleted",
- "AboveQuota",
+ "Hot",
+ "Cool"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountAccessTier",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountHealthState": {
+ "description": "Health state for storage account",
+ "type": "string",
+ "enum": [
+ "Healthy",
"Suspended",
- "All",
- "GcReadyState"
+ "OverQuota",
+ "SuspendedAndOverQuota"
],
"x-ms-enum": {
- "name": "WacAccountStates",
+ "name": "StorageAccountHealthState",
"modelAsString": true
}
},
@@ -382,11 +387,6 @@
"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",
@@ -427,21 +427,11 @@
"$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",
@@ -451,6 +441,16 @@
"description": "Storage account supports https traffic only or not",
"type": "boolean",
"readOnly": true
+ },
+ "accessTier": {
+ "description": "Required for storage accounts where kind = BlobStorage.",
+ "$ref": "#/definitions/StorageAccountAccessTier",
+ "readOnly": true
+ },
+ "healthState": {
+ "description": "The internal health state for storage account.",
+ "$ref": "#/definitions/StorageAccountHealthState",
+ "readOnly": true
}
}
},
@@ -464,6 +464,11 @@
"$ref": "#/definitions/StorageAccountProperties",
"readOnly": true
},
+ "kind": {
+ "description": "Indicates the type of storage account",
+ "$ref": "#/definitions/StorageAccountKind",
+ "readOnly": true
+ },
"tags": {
"description": "Resource tags.",
"type": "object",
diff --git a/specification/azsadmin/resource-manager/storage/readme.md b/specification/azsadmin/resource-manager/storage/readme.md
index ea224b5519a0..fece5a0a5986 100644
--- a/specification/azsadmin/resource-manager/storage/readme.md
+++ b/specification/azsadmin/resource-manager/storage/readme.md
@@ -39,23 +39,6 @@ input-file:
- "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/shares.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json"
-```
---
# Code Generation
@@ -92,16 +75,6 @@ input-file:
- $(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/shares.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
```
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
index ede98f5a13a7..aa38af5eefcb 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
@@ -662,7 +662,7 @@
"Enabled"
],
"x-ms-enum": {
- "name": "ResourceDeletionPolicy",
+ "name": "LinkedAction",
"modelAsString": true,
"values": [
{
@@ -875,7 +875,7 @@
"Succeeded"
],
"x-ms-enum": {
- "name": "MetricPrimaryAggregationType",
+ "name": "ManifestProvisioningState",
"modelAsString": true,
"values": [
{
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
index d2ed8205499f..9add0b5d584a 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
@@ -271,9 +271,6 @@
"$ref": "#/definitions/CheckNameAvailabilityResponse"
}
}
- },
- "x-ms-pageable": {
- "nextLinkName": null
}
}
},
diff --git a/specification/azure-kusto/resource-manager/readme.cli.md b/specification/azure-kusto/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..6ecf12a9e8c1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/readme.cli.md
@@ -0,0 +1,44 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ namespace: azure.mgmt.kusto
+ flatten-all: true
+ test-scenario:
+ - name: KustoClustersCreateOrUpdate
+ - name: KustoDatabasesCreateOrUpdate
+ - name: KustoDataConnectionsCreateOrUpdate
+ - name: AttachedDatabaseConfigurationsCreateOrUpdate
+ - name: AttachedDatabaseConfigurationsGet
+ - name: KustoDataConnectionsGet
+ - name: KustoDatabasesListByCluster
+ - name: KustoAttachedDatabaseConfigurationsListByCluster
+ - name: KustoDatabasesGet
+ - name: KustoDatabasesListByCluster
+ - name: KustoClustersListResourceSkus
+ - name: KustoClustersGet
+ - name: KustoClustersListByResourceGroup
+ - name: KustoClustersList
+ - name: KustoClustersListSkus
+ - name: KustoOperationsList
+ - name: KustoDataConnectionsUpdate
+ - name: KustoDataConnectionValidation
+ - name: KustoDataConnectionsCheckNameAvailability
+ - name: KustoDatabaseRemovePrincipals
+ - name: KustoDatabaseListPrincipals
+ - name: KustoDatabaseAddPrincipals
+ - name: KustoDatabasesUpdate
+ - name: KustoClusterDetachFollowerDatabases
+ - name: KustoDatabaseCheckNameAvailability
+ - name: KustoClusterListFollowerDatabases
+ - name: KustoClustersStart
+ - name: KustoClustersStop
+ - name: KustoClustersUpdate
+ - name: KustoClustersCheckNameAvailability
+ - name: AttachedDatabaseConfigurationsDelete
+ - name: KustoDataConnectionsDelete
+ - name: KustoDatabasesDelete
+ - name: KustoClustersDelete
+```
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index 9f9a4e3bf0d0..ef739944f2eb 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -197,7 +197,7 @@ Please also specify `--azure-libraries-for-java=`.
```yaml $(tag) == 'package-2017-03-01-preview' && $(go)
-namespace: Microsoft.AzureData
-output-folder: $(go-sdks-folder)/services/preview/$(namespace)/mgmt/2017-03-01-preview/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-03-01-preview/$(namespace)
```
diff --git a/specification/azuredata/resource-manager/readme.typescript.md b/specification/azuredata/resource-manager/readme.typescript.md
index c1e4a949375e..662b573cd1b5 100644
--- a/specification/azuredata/resource-manager/readme.typescript.md
+++ b/specification/azuredata/resource-manager/readme.typescript.md
@@ -8,6 +8,7 @@ typescript:
azure-arm: true
package-name: "azuredata"
output-folder: "$(typescript-sdks-folder)/packages/azuredata"
+ clear-output-folder: true
payload-flattening-threshold: 1
generate-metadata: true
```
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
index 9b093117a3fd..3bb41c7bff94 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
@@ -143,6 +143,147 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/_all/GetProducts": {
+ "post": {
+ "x-ms-examples": {
+ "Returns a list of products.": {
+ "$ref": "examples/Product/ListPost.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns a list of products.",
+ "operationId": "Products_GetProducts",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeviceConfigurationParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/GetProduct": {
+ "post": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/Product/GetPost.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "Products_GetProduct",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/DeviceConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Product"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/uploadProductLog": {
+ "post": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/Product/UploadLog.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "Products_UploadLog",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceProductLogUpdateParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductLog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -408,9 +549,58 @@
"productProperties": {
"description": "Additional properties for the product.",
"$ref": "#/definitions/ProductProperties"
+ },
+ "compatibility": {
+ "description": "Product compatibility with current device.",
+ "$ref": "#/definitions/Compatibility"
+ }
+ }
+ },
+ "Compatibility": {
+ "description": "Product compatibility",
+ "type": "object",
+ "properties": {
+ "isCompatible": {
+ "description": "Tells if product is compatible with current device",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "Short error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "description": {
+ "description": "Full error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "issues": {
+ "description": "List of all issues found",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompatibilityIssue"
+ }
}
}
},
+ "CompatibilityIssue": {
+ "description": "Compatibility issue",
+ "type": "string",
+ "enum": [
+ "HigherDeviceVersionRequired",
+ "LowerDeviceVersionRequired",
+ "CapacityBillingModelRequired",
+ "PayAsYouGoBillingModelRequired",
+ "DevelopmentBillingModelRequired",
+ "AzureADIdentitySystemRequired",
+ "ADFSIdentitySystemRequired",
+ "ConnectionToInternetRequired",
+ "ConnectionToAzureRequired",
+ "DisconnectedEnvironmentRequired"
+ ],
+ "x-ms-enum": {
+ "name": "CompatibilityIssue",
+ "modelAsString": true
+ }
+ },
"IconUris": {
"description": "Links to product icons.",
"type": "object",
@@ -477,6 +667,114 @@
}
}
}
+ },
+ "DeviceConfiguration": {
+ "description": "Device Configuration.",
+ "properties": {
+ "deviceVersion": {
+ "description": "Version of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "identitySystem": {
+ "description": "Identity system of the device.",
+ "enum": [
+ "AzureAD",
+ "ADFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MarketplaceProductLogUpdate": {
+ "description": "Update details for product log.",
+ "properties": {
+ "operation": {
+ "description": "Operation to log.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Operation status to log.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Error related to the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Error details related to operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProductLog": {
+ "description": "Product action log.",
+ "properties": {
+ "id": {
+ "description": "Log ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productId": {
+ "description": "Logged product ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Logged subscription ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationName": {
+ "description": "Logged registration name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroupName": {
+ "description": "Logged resource group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Logged operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startDate": {
+ "description": "Operation start datetime.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endDate": {
+ "description": "Operation end datetime.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Operation error data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Operation error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
@@ -487,6 +785,26 @@
"in": "path",
"required": true,
"x-ms-parameter-location": "method"
+ },
+ "DeviceConfigurationParameter": {
+ "description": "Device configuration.",
+ "name": "deviceConfiguration",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeviceConfiguration"
+ }
+ },
+ "MarketplaceProductLogUpdateParameter": {
+ "description": "Update details for product log.",
+ "name": "marketplaceProductLogUpdate",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceProductLogUpdate"
+ }
}
},
"securityDefinitions": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json
new file mode 100644
index 000000000000..a26e3403bb63
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01",
+ "deviceConfiguration": {
+ "identitySystem": "AzureAD",
+ "deviceVersion": "1910.0.0.0"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json
new file mode 100644
index 000000000000..8840a2d255e6
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json
@@ -0,0 +1,182 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01",
+ "deviceConfiguration": {
+ "identitySystem": "AzureAD",
+ "deviceVersion": "1910.0.0.0"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepoint",
+ "name": "testregistration/dummysharepoint",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepoint/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepoint/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepoint/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepoint/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepoint/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepointTest526",
+ "name": "testregistration/dummysharepointTest526",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepointTest526/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepointTest526/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepointTest526/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepointTest526/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepointTest526/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "2.0.2"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "name": "testregistration/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/wordpress4-4",
+ "name": "testregistration/wordpress4-4",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "WordPress",
+ "publisherDisplayName": "WordPress",
+ "publisherIdentifier": "bitnami",
+ "offer": "wordpress",
+ "offerVersion": "1.0.8",
+ "sku": "4-4",
+ "galleryItemIdentity": "bitnami.wordpress4-4.1.0.8",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/wordpress4-4/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/wordpress4-4/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/wordpress4-4/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/wordpress4-4/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/wordpress4-4/icons/Small.png"
+ },
+ "payloadLength": 32212604365,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "4.5.31"
+ },
+ "compatibility": {
+ "isCompatible": false,
+ "message": "AzureStack version '1910.0.0.0' is too low. Versions lower than '1911.0.0.0' are not supported",
+ "description": "AzureStack version '1910.0.0.0' is too low. Versions lower than '1911.0.0.0' are not supported",
+ "issues": [
+ "HigherDeviceVersionRequired"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json
new file mode 100644
index 000000000000..8d29e414c3fa
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01",
+ "marketplaceProductLogUpdate": {
+ "operation": "Download",
+ "status": "Failed",
+ "error": "ExampleError",
+ "details": "ExampleDetails"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "details": "ExampleDetails",
+ "endDate": "01-02-2019 00:00:00",
+ "error": "ExampleError",
+ "operation": "Download",
+ "productId": "dummyProduct-1.1",
+ "registrationName": "TestCIRegistration007",
+ "resourceGroupName": "AzureStack007",
+ "startDate": "01-01-2019 00:00:00",
+ "status": "Failed",
+ "subscriptionId": "64D0A64B4F694EB4B0ED92BC34D98082"
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index 90e5770f6317..d31ec1ce03e3 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -126,11 +126,14 @@ Please also specify `--azure-libraries-for-java=`.
+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.azurestack
+ package-name: azure-mgmt-azurestack
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack
+```
+
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/readme.typescript.md b/specification/azurestack/resource-manager/readme.typescript.md
index 07a47ea5a2f3..7f520452f5d5 100644
--- a/specification/azurestack/resource-manager/readme.typescript.md
+++ b/specification/azurestack/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-azurestack"
output-folder: "$(typescript-sdks-folder)/sdk/azurestack/arm-azurestack"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2017-09-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2017-09-01/BatchManagement.json
index 18743ad61765..784ec593d4a5 100644
--- a/specification/batch/resource-manager/Microsoft.Batch/stable/2017-09-01/BatchManagement.json
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2017-09-01/BatchManagement.json
@@ -2640,7 +2640,7 @@
"vmSize": {
"type": "string",
"title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
- "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
},
"deploymentConfiguration": {
"$ref": "#/definitions/DeploymentConfiguration",
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json
index 8d707a32e74e..3037aa6c6d94 100644
--- a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json
@@ -2778,7 +2778,7 @@
"vmSize": {
"type": "string",
"title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
- "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
},
"deploymentConfiguration": {
"$ref": "#/definitions/DeploymentConfiguration",
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2019-04-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2019-04-01/BatchManagement.json
index 317c5da8b95f..56fac274fc9b 100644
--- a/specification/batch/resource-manager/Microsoft.Batch/stable/2019-04-01/BatchManagement.json
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2019-04-01/BatchManagement.json
@@ -2814,7 +2814,7 @@
"vmSize": {
"type": "string",
"title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
- "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
},
"deploymentConfiguration": {
"$ref": "#/definitions/DeploymentConfiguration",
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2019-08-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2019-08-01/BatchManagement.json
index a2fc026149b8..116ce7441348 100644
--- a/specification/batch/resource-manager/Microsoft.Batch/stable/2019-08-01/BatchManagement.json
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2019-08-01/BatchManagement.json
@@ -2817,7 +2817,7 @@
"vmSize": {
"type": "string",
"title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
- "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
},
"deploymentConfiguration": {
"$ref": "#/definitions/DeploymentConfiguration",
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index a8d86ed9acdd..a2f1db7b2e8e 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -204,7 +204,7 @@ Please also specify `--azure-libraries-for-java="
+ ]
}
],
"action": "Block"
@@ -108,7 +125,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
@@ -154,6 +171,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -176,6 +194,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -188,6 +207,20 @@
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -218,7 +251,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint3"
}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json
index cc8a4d747642..f2511b72fd82 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPatchPolicy.json
@@ -47,6 +47,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -69,6 +70,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -78,9 +80,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -111,7 +128,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
@@ -159,6 +176,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -181,6 +199,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -190,9 +209,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -223,7 +257,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json
index 76cce169ba38..3ce2f5a82cac 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyCreateOrUpdate.json
@@ -29,6 +29,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -51,6 +52,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -60,9 +62,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -134,6 +151,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -156,6 +174,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -165,9 +184,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -198,7 +232,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
@@ -246,6 +280,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -268,6 +303,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -277,9 +313,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -310,7 +361,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
@@ -358,6 +409,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -380,6 +432,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -389,9 +442,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -422,7 +490,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json
index dcce780502a9..3cfd8e73d78c 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/examples/WafPolicyGet.json
@@ -43,6 +43,7 @@
"selector": null,
"operator": "IPMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"192.168.1.0/24",
"10.0.0.0/24"
@@ -65,6 +66,7 @@
"selector": null,
"operator": "GeoMatch",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"CH"
]
@@ -74,9 +76,24 @@
"selector": "UserAgent",
"operator": "Contains",
"negateCondition": false,
+ "transforms": [],
"matchValue": [
"windows"
]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
}
],
"action": "Block"
@@ -107,7 +124,7 @@
}
]
},
- "cdnEndpointLinks": [
+ "endpointLinks": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
},
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
index ba7ec2ba875e..e3ccabfbb2ca 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
@@ -3399,15 +3399,15 @@
]
},
"sourcePattern": {
- "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.",
+ "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field",
"type": "string"
},
"destination": {
- "description": "Define the relative URL to which the above requests will be rewritten by.",
+ "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern ",
"type": "string"
},
"preserveUnmatchedPath": {
- "description": "Whether to preserve unmatched path. Default value is true.",
+ "description": "If True, the remaining path after the source pattern will be appended to the new destination path. ",
"type": "boolean"
}
}
@@ -3917,6 +3917,10 @@
"modelAsString": true
}
},
+ "customHttpsParameters": {
+ "description": "Certificate parameters for securing custom HTTPS",
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ },
"validationData": {
"description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
"type": "string"
@@ -3981,6 +3985,19 @@
"name": "ProtocolType",
"modelAsString": true
}
+ },
+ "minimumTlsVersion": {
+ "description": "TLS protocol version that will be used for Https",
+ "enum": [
+ "None",
+ "TLS10",
+ "TLS12"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "minimumTlsVersion",
+ "modelAsString": false
+ }
}
}
},
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
new file mode 100644
index 000000000000..2d83acd4dca9
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
@@ -0,0 +1,5359 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-31",
+ "title": "CdnManagementClient",
+ "description": "Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Lists all of the CDN profiles within an Azure subscription.",
+ "operationId": "Profiles_List",
+ "x-ms-examples": {
+ "Profiles_List": {
+ "$ref": "./examples/Profiles_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ProfileListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Lists all of the CDN profiles within a resource group.",
+ "operationId": "Profiles_ListByResourceGroup",
+ "x-ms-examples": {
+ "Profiles_ListByResourceGroup": {
+ "$ref": "./examples/Profiles_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ProfileListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Gets a CDN profile with the specified profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Get",
+ "x-ms-examples": {
+ "Profiles_Get": {
+ "$ref": "./examples/Profiles_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Creates a new CDN profile with a profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Create",
+ "x-ms-examples": {
+ "Profiles_Create": {
+ "$ref": "./examples/Profiles_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Profile properties needed to create a new profile.",
+ "in": "body",
+ "name": "profile",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new profile has been created.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Updates an existing CDN profile with the specified profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Update",
+ "x-ms-examples": {
+ "Profiles_Update": {
+ "$ref": "./examples/Profiles_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "profileUpdateParameters",
+ "in": "body",
+ "description": "Profile properties needed to update an existing profile.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProfileUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.",
+ "operationId": "Profiles_Delete",
+ "x-ms-examples": {
+ "Profiles_Delete": {
+ "$ref": "./examples/Profiles_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the profile was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.",
+ "operationId": "Profiles_GenerateSsoUri",
+ "x-ms-examples": {
+ "Profiles_GenerateSsoUri": {
+ "$ref": "./examples/Profiles_GenerateSsoUri.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SsoUri"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.",
+ "operationId": "Profiles_ListSupportedOptimizationTypes",
+ "x-ms-examples": {
+ "Profiles_ListSupportedOptimizationTypes": {
+ "$ref": "./examples/Profiles_ListSupportedOptimizationTypes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SupportedOptimizationTypesListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Checks the quota and actual usage of endpoints under the given CDN profile.",
+ "operationId": "Profiles_ListResourceUsage",
+ "x-ms-examples": {
+ "Profiles_ListResourceUsage": {
+ "$ref": "./examples/Profiles_ListResourceUsage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Lists existing CDN endpoints.",
+ "operationId": "Endpoints_ListByProfile",
+ "x-ms-examples": {
+ "Endpoints_ListByProfile": {
+ "$ref": "./examples/Endpoints_ListByProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EndpointListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Get",
+ "x-ms-examples": {
+ "Endpoints_Get": {
+ "$ref": "./examples/Endpoints_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Create",
+ "x-ms-examples": {
+ "Endpoints_Create": {
+ "$ref": "./examples/Endpoints_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpoint",
+ "in": "body",
+ "description": "Endpoint properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new endpoint has been created.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the Update Custom Domain operation.",
+ "operationId": "Endpoints_Update",
+ "x-ms-examples": {
+ "Endpoints_Update": {
+ "$ref": "./examples/Endpoints_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointUpdateProperties",
+ "in": "body",
+ "description": "Endpoint update properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Delete",
+ "x-ms-examples": {
+ "Endpoints_Delete": {
+ "$ref": "./examples/Endpoints_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the endpoint was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Starts an existing CDN endpoint that is on a stopped state.",
+ "operationId": "Endpoints_Start",
+ "x-ms-examples": {
+ "Endpoints_Start": {
+ "$ref": "./examples/Endpoints_Start.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Stops an existing running CDN endpoint.",
+ "operationId": "Endpoints_Stop",
+ "x-ms-examples": {
+ "Endpoints_Stop": {
+ "$ref": "./examples/Endpoints_Stop.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Removes a content from CDN.",
+ "operationId": "Endpoints_PurgeContent",
+ "x-ms-examples": {
+ "Endpoints_PurgeContent": {
+ "$ref": "./examples/Endpoints_PurgeContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "contentFilePaths",
+ "in": "body",
+ "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PurgeParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Pre-loads a content to CDN. Available for Verizon Profiles.",
+ "operationId": "Endpoints_LoadContent",
+ "x-ms-examples": {
+ "Endpoints_LoadContent": {
+ "$ref": "./examples/Endpoints_LoadContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "contentFilePaths",
+ "in": "body",
+ "description": "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictures/city.png' which loads a single file ",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoadParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.",
+ "operationId": "Endpoints_ValidateCustomDomain",
+ "x-ms-examples": {
+ "Endpoints_ValidateCustomDomain": {
+ "$ref": "./examples/Endpoints_ValidateCustomDomain.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainProperties",
+ "in": "body",
+ "description": "Custom domain to be validated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateCustomDomainInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ValidateCustomDomainOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Checks the quota and usage of geo filters and custom domains under the given endpoint.",
+ "operationId": "Endpoints_ListResourceUsage",
+ "x-ms-examples": {
+ "Endpoints_ListResourceUsage": {
+ "$ref": "./examples/Endpoints_ListResourceUsage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins": {
+ "get": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Lists all of the existing origins within an endpoint.",
+ "operationId": "Origins_ListByEndpoint",
+ "x-ms-examples": {
+ "Origins_ListByEndpoint": {
+ "$ref": "./examples/Origins_ListByEndpoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}": {
+ "get": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Gets an existing origin within an endpoint.",
+ "operationId": "Origins_Get",
+ "x-ms-examples": {
+ "Origins_Get": {
+ "$ref": "./examples/Origins_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Creates a new origin within the specified endpoint.",
+ "operationId": "Origins_Create",
+ "x-ms-examples": {
+ "Origins_Create": {
+ "$ref": "./examples/Origins_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin that is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "origin",
+ "in": "body",
+ "description": "Origin properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new origin has been created.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Updates an existing origin within an endpoint.",
+ "operationId": "Origins_Update",
+ "x-ms-examples": {
+ "Origins_Update": {
+ "$ref": "./examples/Origins_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originUpdateProperties",
+ "in": "body",
+ "description": "Origin properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OriginUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Deletes an existing origin within an endpoint.",
+ "operationId": "Origins_Delete",
+ "x-ms-examples": {
+ "Origins_Delete": {
+ "$ref": "./examples/Origins_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the origin was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups": {
+ "get": {
+ "tags": [
+ "OriginGroups"
+ ],
+ "description": "Lists all of the existing origin groups within an endpoint.",
+ "operationId": "OriginGroups_ListByEndpoint",
+ "x-ms-examples": {
+ "OriginsGroups_ListByEndpoint": {
+ "$ref": "./examples/OriginGroups_ListByEndpoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroupListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}": {
+ "get": {
+ "tags": [
+ "OriginGroups"
+ ],
+ "description": "Gets an existing origin group within an endpoint.",
+ "operationId": "OriginGroups_Get",
+ "x-ms-examples": {
+ "OriginGroups_Get": {
+ "$ref": "./examples/OriginGroups_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroupName",
+ "in": "path",
+ "description": "Name of the origin group which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OriginGroups"
+ ],
+ "description": "Creates a new origin group within the specified endpoint.",
+ "operationId": "OriginGroups_Create",
+ "x-ms-examples": {
+ "OriginGroups_Create": {
+ "$ref": "./examples/OriginGroups_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroupName",
+ "in": "path",
+ "description": "Name of the origin group which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroup",
+ "in": "body",
+ "description": "Origin group properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new origin group has been created.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "OriginGroups"
+ ],
+ "description": "Updates an existing origin group within an endpoint.",
+ "operationId": "OriginGroups_Update",
+ "x-ms-examples": {
+ "OriginGroups_Update": {
+ "$ref": "./examples/OriginGroups_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroupName",
+ "in": "path",
+ "description": "Name of the origin group which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroupUpdateProperties",
+ "in": "body",
+ "description": "Origin group properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OriginGroupUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OriginGroup"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "OriginGroups"
+ ],
+ "description": "Deletes an existing origin group within an endpoint.",
+ "operationId": "OriginGroups_Delete",
+ "x-ms-examples": {
+ "OriginGroups_Delete": {
+ "$ref": "./examples/OriginGroups_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originGroupName",
+ "in": "path",
+ "description": "Name of the origin group which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the origin was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains": {
+ "get": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Lists all of the existing custom domains within an endpoint.",
+ "operationId": "CustomDomains_ListByEndpoint",
+ "x-ms-examples": {
+ "CustomDomains_ListByEndpoint": {
+ "$ref": "./examples/CustomDomains_ListByEndpoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}": {
+ "get": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Gets an existing custom domain within an endpoint.",
+ "operationId": "CustomDomains_Get",
+ "x-ms-examples": {
+ "CustomDomains_Get": {
+ "$ref": "./examples/CustomDomains_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Creates a new custom domain within an endpoint.",
+ "operationId": "CustomDomains_Create",
+ "x-ms-examples": {
+ "CustomDomains_Create": {
+ "$ref": "./examples/CustomDomains_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainProperties",
+ "in": "body",
+ "description": "Properties required to create a new custom domain.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new custom domain has been created.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Deletes an existing custom domain within an endpoint.",
+ "operationId": "CustomDomains_Delete",
+ "x-ms-examples": {
+ "CustomDomains_Delete": {
+ "$ref": "./examples/CustomDomains_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the custom domain was not found"
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps": {
+ "post": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Disable https delivery of the custom domain.",
+ "operationId": "CustomDomains_DisableCustomHttps",
+ "x-ms-examples": {
+ "CustomDomains_DisableCustomHttps": {
+ "$ref": "./examples/CustomDomains_DisableCustomHttps.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
+ "post": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Enable https delivery of the custom domain.",
+ "operationId": "CustomDomains_EnableCustomHttps",
+ "x-ms-examples": {
+ "CustomDomains_EnableCustomHttpsUsingYourOwnCertificate": {
+ "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json"
+ },
+ "CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate": {
+ "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainHttpsParameters",
+ "in": "body",
+ "description": "The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.",
+ "operationId": "CheckNameAvailability",
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailabilityWithSubscription"
+ ],
+ "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.",
+ "operationId": "CheckNameAvailabilityWithSubscription",
+ "x-ms-examples": {
+ "CheckNameAvailabilityWithSubscription": {
+ "$ref": "./examples/CheckNameAvailabilityWithSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": {
+ "post": {
+ "tags": [
+ "ValidateProbe"
+ ],
+ "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.",
+ "operationId": "ValidateProbe",
+ "x-ms-examples": {
+ "ValidateProbe": {
+ "$ref": "./examples/ValidateProbe.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "validateProbeInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateProbeInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ValidateProbeOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "CheckResourceUsage"
+ ],
+ "description": "Check the quota and actual usage of the CDN profiles under the given subscription.",
+ "operationId": "ResourceUsage_List",
+ "x-ms-examples": {
+ "ResourceUsage_List": {
+ "$ref": "./examples/ResourceUsage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available CDN REST API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/edgenodes": {
+ "get": {
+ "tags": [
+ "Edgenodes"
+ ],
+ "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.",
+ "operationId": "EdgeNodes_List",
+ "x-ms-examples": {
+ "EdgeNodes_List": {
+ "$ref": "./examples/EdgeNodes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EdgenodeResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Profile": {
+ "description": "CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and pricing tier.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.",
+ "$ref": "#/definitions/Sku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProfileProperties"
+ }
+ },
+ "required": [
+ "sku"
+ ]
+ },
+ "ProfileProperties": {
+ "description": "The JSON object that contains the properties required to create a profile.",
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the profile.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProfileResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the profile.",
+ "type": "string"
+ }
+ }
+ },
+ "ProfileListResult": {
+ "description": "Result of the request to list profiles. It contains a list of profile objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Profile"
+ },
+ "description": "List of CDN profiles within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of profile objects if there are any."
+ }
+ }
+ },
+ "ProfileUpdateParameters": {
+ "type": "object",
+ "description": "Properties required to update a profile.",
+ "properties": {
+ "tags": {
+ "description": "Profile tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SsoUri": {
+ "description": "The URI required to login to the supplemental portal from the Azure portal.",
+ "type": "object",
+ "properties": {
+ "ssoUriValue": {
+ "description": "The URI used to login to the supplemental portal.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "SupportedOptimizationTypesListResult": {
+ "description": "The result of the GetSupportedOptimizationTypes API",
+ "type": "object",
+ "properties": {
+ "supportedOptimizationTypes": {
+ "description": "Supported optimization types for a profile.",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OptimizationType"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "Endpoint": {
+ "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointProperties"
+ }
+ }
+ },
+ "EndpointProperties": {
+ "description": "The JSON object that contains the properties required to create an endpoint.",
+ "required": [
+ "origins"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net",
+ "type": "string",
+ "readOnly": true
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeepCreatedOrigin"
+ }
+ },
+ "originGroups": {
+ "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeepCreatedOriginGroup"
+ }
+ },
+ "resourceState": {
+ "description": "Resource status of the endpoint.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Deleting",
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "EndpointListResult": {
+ "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "description": "List of CDN endpoints within a profile"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of endpoint objects if there is any."
+ }
+ }
+ },
+ "EndpointUpdateParameters": {
+ "type": "object",
+ "description": "Properties required to create or update an endpoint.",
+ "properties": {
+ "tags": {
+ "description": "Endpoint tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "EndpointPropertiesUpdateParameters": {
+ "description": "The JSON object containing endpoint update parameters.",
+ "properties": {
+ "originPath": {
+ "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.",
+ "type": "string"
+ },
+ "contentTypesToCompress": {
+ "description": "List of content types on which compression applies. The value should be a valid MIME type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.",
+ "type": "string"
+ },
+ "isCompressionEnabled": {
+ "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.",
+ "type": "boolean"
+ },
+ "isHttpAllowed": {
+ "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "isHttpsAllowed": {
+ "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "queryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "$ref": "#/definitions/QueryStringCachingBehavior"
+ },
+ "optimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.",
+ "$ref": "#/definitions/OptimizationType"
+ },
+ "probePath": {
+ "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.",
+ "type": "string"
+ },
+ "geoFilters": {
+ "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GeoFilter"
+ }
+ },
+ "defaultOriginGroup": {
+ "description": "A reference to the origin group.",
+ "type": "object",
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "deliveryPolicy": {
+ "description": "A policy that specifies the delivery rules to be used for an endpoint.",
+ "type": "object",
+ "required": [
+ "rules"
+ ],
+ "properties": {
+ "description": {
+ "description": "User-friendly description of the policy.",
+ "type": "string"
+ },
+ "rules": {
+ "description": "A list of the delivery rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRule"
+ }
+ }
+ }
+ }
+ }
+ },
+ "DeliveryRule": {
+ "description": "A rule that specifies a set of actions and conditions",
+ "type": "object",
+ "required": [
+ "order",
+ "actions"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the rule",
+ "type": "string"
+ },
+ "order": {
+ "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.",
+ "type": "integer"
+ },
+ "conditions": {
+ "description": "A list of conditions that must be matched for the actions to be executed",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ },
+ "actions": {
+ "description": "A list of actions that are executed when all the conditions of a rule are satisfied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ }
+ }
+ },
+ "DeliveryRuleCondition": {
+ "description": "A condition for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the condition for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "RemoteAddress",
+ "RequestMethod",
+ "QueryString",
+ "PostArgs",
+ "RequestUri",
+ "RequestHeader",
+ "RequestBody",
+ "RequestScheme",
+ "UrlPath",
+ "UrlFileExtension",
+ "UrlFileName",
+ "HttpVersion",
+ "Cookies",
+ "IsDevice"
+ ],
+ "x-ms-enum": {
+ "name": "MatchVariable",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DeliveryRuleRemoteAddressCondition": {
+ "description": "Defines the RemoteAddress condition for the delivery rule.",
+ "x-ms-discriminator-value": "RemoteAddress",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RemoteAddressMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestMethodCondition": {
+ "description": "Defines the RequestMethod condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestMethod",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestMethodMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleQueryStringCondition": {
+ "description": "Defines the QueryString condition for the delivery rule.",
+ "x-ms-discriminator-value": "QueryString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/QueryStringMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRulePostArgsCondition": {
+ "description": "Defines the PostArgs condition for the delivery rule.",
+ "x-ms-discriminator-value": "PostArgs",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/PostArgsMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestUriCondition": {
+ "description": "Defines the RequestUri condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestUri",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestUriMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestHeaderCondition": {
+ "description": "Defines the RequestHeader condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestHeaderMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestBodyCondition": {
+ "description": "Defines the RequestBody condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestBody",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestBodyMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestSchemeCondition": {
+ "description": "Defines the RequestScheme condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestScheme",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestSchemeMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlPathCondition": {
+ "description": "Defines the UrlPath condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlPath",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlPathMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlFileExtensionCondition": {
+ "description": "Defines the UrlFileExtension condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlFileExtension",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlFileNameCondition": {
+ "description": "Defines the UrlFileName condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlFileName",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlFileNameMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleHttpVersionCondition": {
+ "description": "Defines the HttpVersion condition for the delivery rule.",
+ "x-ms-discriminator-value": "HttpVersion",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/HttpVersionMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleCookiesCondition": {
+ "description": "Defines the Cookies condition for the delivery rule.",
+ "x-ms-discriminator-value": "Cookies",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/CookiesMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleIsDeviceCondition": {
+ "description": "Defines the IsDevice condition for the delivery rule.",
+ "x-ms-discriminator-value": "IsDevice",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/IsDeviceMatchConditionParameters"
+ }
+ }
+ },
+ "RemoteAddressMatchConditionParameters": {
+ "description": "Defines the parameters for RemoteAddress match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "IPMatch",
+ "GeoMatch"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteAddressOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestMethodMatchConditionParameters": {
+ "description": "Defines the parameters for RequestMethod match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "RequestMethodOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "HEAD",
+ "POST",
+ "PUT",
+ "DELETE",
+ "OPTIONS",
+ "TRACE"
+ ]
+ }
+ }
+ }
+ },
+ "QueryStringMatchConditionParameters": {
+ "description": "Defines the parameters for QueryString match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "QueryStringOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "PostArgsMatchConditionParameters": {
+ "description": "Defines the parameters for PostArgs match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of PostArg to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "PostArgsOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestUriMatchConditionParameters": {
+ "description": "Defines the parameters for RequestUri match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestUriOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestHeaderMatchConditionParameters": {
+ "description": "Defines the parameters for RequestHeader match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of Header to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestHeaderOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestBodyMatchConditionParameters": {
+ "description": "Defines the parameters for RequestBody match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestBodyOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestSchemeMatchConditionParameters": {
+ "description": "Defines the parameters for RequestScheme match conditions ",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ]
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HTTP",
+ "HTTPS"
+ ]
+ }
+ }
+ }
+ },
+ "UrlPathMatchConditionParameters": {
+ "description": "Defines the parameters for UrlPath match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual",
+ "Wildcard"
+ ],
+ "x-ms-enum": {
+ "name": "UrlPathOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "UrlFileExtensionMatchConditionParameters": {
+ "description": "Defines the parameters for UrlFileExtension match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "UrlFileExtensionOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "UrlFileNameMatchConditionParameters": {
+ "description": "Defines the parameters for UrlFilename match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "UrlFileNameOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "HttpVersionMatchConditionParameters": {
+ "description": "Defines the parameters for HttpVersion match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "HttpVersionOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CookiesMatchConditionParameters": {
+ "description": "Defines the parameters for Cookies match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of Cookies to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "CookiesOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "IsDeviceMatchConditionParameters": {
+ "description": "Defines the parameters for IsDevice match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "IsDeviceOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Mobile",
+ "Desktop"
+ ]
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "DeliveryRuleAction": {
+ "description": "An action for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the action for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "CacheExpiration",
+ "CacheKeyQueryString",
+ "ModifyRequestHeader",
+ "ModifyResponseHeader",
+ "UrlRedirect",
+ "UrlRewrite"
+ ],
+ "x-ms-enum": {
+ "name": "DeliveryRuleAction",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UrlRedirectAction": {
+ "description": "Defines the url redirect action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlRedirect",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlRedirectActionParameters"
+ }
+ }
+ },
+ "UrlRedirectActionParameters": {
+ "description": "Defines the parameters for the url redirect action.",
+ "required": [
+ "redirectType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters"
+ ]
+ },
+ "redirectType": {
+ "description": "The redirect type the rule will use when redirecting traffic.",
+ "type": "string",
+ "enum": [
+ "Moved",
+ "Found",
+ "TemporaryRedirect",
+ "PermanentRedirect"
+ ],
+ "x-ms-enum": {
+ "name": "RedirectType",
+ "modelAsString": true
+ }
+ },
+ "destinationProtocol": {
+ "description": "Protocol to use for the redirect. The default value is MatchRequest",
+ "type": "string",
+ "enum": [
+ "MatchRequest",
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "DestinationProtocol",
+ "modelAsString": true
+ }
+ },
+ "customPath": {
+ "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.",
+ "type": "string"
+ },
+ "customHostname": {
+ "description": "Host to redirect. Leave empty to use the incoming host as the destination host.",
+ "type": "string"
+ },
+ "customQueryString": {
+ "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.",
+ "type": "string"
+ },
+ "customFragment": {
+ "type": "string",
+ "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."
+ }
+ }
+ },
+ "UrlRewriteAction": {
+ "description": "Defines the url rewrite action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlRewrite",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlRewriteActionParameters"
+ }
+ }
+ },
+ "UrlRewriteActionParameters": {
+ "description": "Defines the parameters for the url rewrite action.",
+ "required": [
+ "sourcePattern",
+ "destination",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters"
+ ]
+ },
+ "sourcePattern": {
+ "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.",
+ "type": "string"
+ },
+ "destination": {
+ "description": "Define the relative URL to which the above requests will be rewritten by.",
+ "type": "string"
+ },
+ "preserveUnmatchedPath": {
+ "description": "Whether to preserve unmatched path. Default value is true.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DeliveryRuleRequestHeaderAction": {
+ "description": "Defines the request header action for the delivery rule.",
+ "x-ms-discriminator-value": "ModifyRequestHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/HeaderActionParameters"
+ }
+ }
+ },
+ "DeliveryRuleResponseHeaderAction": {
+ "description": "Defines the response header action for the delivery rule.",
+ "x-ms-discriminator-value": "ModifyResponseHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/HeaderActionParameters"
+ }
+ }
+ },
+ "HeaderActionParameters": {
+ "description": "Defines the parameters for the request header action.",
+ "required": [
+ "headerAction",
+ "headerName",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ ]
+ },
+ "headerAction": {
+ "description": "Action to perform",
+ "type": "string",
+ "enum": [
+ "Append",
+ "Overwrite",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "HeaderAction",
+ "modelAsString": true
+ }
+ },
+ "headerName": {
+ "description": "Name of the header to modify",
+ "type": "string"
+ },
+ "value": {
+ "description": "Value for the specified action",
+ "type": "string"
+ }
+ }
+ },
+ "DeliveryRuleCacheExpirationAction": {
+ "description": "Defines the cache expiration action for the delivery rule.",
+ "x-ms-discriminator-value": "CacheExpiration",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/CacheExpirationActionParameters"
+ }
+ }
+ },
+ "CacheExpirationActionParameters": {
+ "description": "Defines the parameters for the cache expiration action.",
+ "required": [
+ "cacheBehavior",
+ "cacheType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
+ ]
+ },
+ "cacheBehavior": {
+ "description": "Caching behavior for the requests",
+ "type": "string",
+ "enum": [
+ "BypassCache",
+ "Override",
+ "SetIfMissing"
+ ],
+ "x-ms-enum": {
+ "name": "cacheBehavior",
+ "modelAsString": true
+ }
+ },
+ "cacheType": {
+ "description": "The level at which the content needs to be cached.",
+ "type": "string",
+ "enum": [
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "CacheType",
+ "modelAsString": true
+ }
+ },
+ "cacheDuration": {
+ "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "DeliveryRuleCacheKeyQueryStringAction": {
+ "description": "Defines the cache-key query string action for the delivery rule.",
+ "x-ms-discriminator-value": "CacheKeyQueryString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/CacheKeyQueryStringActionParameters"
+ }
+ }
+ },
+ "CacheKeyQueryStringActionParameters": {
+ "description": "Defines the parameters for the cache-key query string action.",
+ "required": [
+ "queryStringBehavior",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters"
+ ]
+ },
+ "queryStringBehavior": {
+ "description": "Caching behavior for the requests",
+ "type": "string",
+ "enum": [
+ "Include",
+ "IncludeAll",
+ "Exclude",
+ "ExcludeAll"
+ ],
+ "x-ms-enum": {
+ "name": "queryStringBehavior",
+ "modelAsString": true
+ }
+ },
+ "queryParameters": {
+ "description": "query parameters to include or exclude (comma separated).",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "transform": {
+ "description": "Describes what transforms are applied before matching",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Uppercase"
+ ],
+ "x-ms-enum": {
+ "name": "transform",
+ "modelAsString": true
+ }
+ },
+ "DeepCreatedOrigin": {
+ "description": "The main origin of CDN content which is added when creating a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Origin name which must be unique within the endpoint. ",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeepCreatedOriginProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginProperties": {
+ "description": "Properties of the origin created on the CDN endpoint.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.",
+ "type": "string"
+ },
+ "priority": {
+ "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.",
+ "type": "integer",
+ "maximum": 5,
+ "minimum": 1
+ },
+ "weight": {
+ "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000",
+ "type": "integer",
+ "maximum": 1000,
+ "minimum": 1
+ },
+ "enabled": {
+ "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginGroup": {
+ "description": "The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the origin group based on origin health.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Origin group name which must be unique within the endpoint.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeepCreatedOriginGroupProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginGroupProperties": {
+ "description": "Properties of the origin group created on the CDN endpoint.",
+ "type": "object",
+ "required": [
+ "origins"
+ ],
+ "properties": {
+ "healthProbeSettings": {
+ "description": "Health probe settings to the origin that is used to determine the health of the origin.",
+ "type": "object",
+ "$ref": "#/definitions/HealthProbeParameters"
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN within given origin group.",
+ "type": "array",
+ "items": {
+ "description": "A reference to a origin.",
+ "$ref": "#/definitions/ResourceReference"
+ }
+ },
+ "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": {
+ "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.",
+ "type": "integer",
+ "maximum": 50,
+ "minimum": 0
+ },
+ "responseBasedOriginErrorDetectionSettings": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.",
+ "type": "object",
+ "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another resource.",
+ "x-ms-azure-resource": true
+ },
+ "GeoFilter": {
+ "description": "Rules defining user's geo access within a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "relativePath",
+ "action",
+ "countryCodes"
+ ],
+ "properties": {
+ "relativePath": {
+ "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)",
+ "type": "string"
+ },
+ "action": {
+ "description": "Action of the geo filter, i.e. allow or block access.",
+ "enum": [
+ "Block",
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GeoFilterActions",
+ "modelAsString": false
+ }
+ },
+ "countryCodes": {
+ "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PurgeParameters": {
+ "type": "object",
+ "description": "Parameters required for content purge.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be purged. Can describe a file path or a wild card directory.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "LoadParameters": {
+ "type": "object",
+ "description": "Parameters required for content load.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Origin": {
+ "description": "CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginProperties"
+ }
+ }
+ },
+ "OriginProperties": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "required": [
+ "hostName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OriginUpdatePropertiesParameters"
+ }
+ ],
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the origin.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OriginResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the origin.",
+ "type": "string"
+ }
+ }
+ },
+ "OriginUpdateParameters": {
+ "type": "object",
+ "description": "Origin properties needed for origin update.",
+ "properties": {
+ "tags": {
+ "description": "Origin tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginUpdatePropertiesParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OriginUpdatePropertiesParameters": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint",
+ "type": "string"
+ },
+ "priority": {
+ "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5",
+ "type": "integer",
+ "maximum": 5,
+ "minimum": 1
+ },
+ "weight": {
+ "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000",
+ "type": "integer",
+ "maximum": 1000,
+ "minimum": 1
+ },
+ "enabled": {
+ "description": "Origin is enabled for load balancing or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "OriginListResult": {
+ "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "description": "List of CDN origins within an endpoint"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of origin objects if there are any."
+ }
+ }
+ },
+ "OriginGroup": {
+ "description": "Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginGroupProperties"
+ }
+ }
+ },
+ "OriginGroupProperties": {
+ "description": "The JSON object that contains the properties of the origin group.",
+ "type": "object",
+ "required": [
+ "origins"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters"
+ }
+ ],
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the origin group.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OriginGroupResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the origin group.",
+ "type": "string"
+ }
+ }
+ },
+ "OriginGroupUpdateParameters": {
+ "type": "object",
+ "description": "Origin group properties needed for origin group creation or update.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OriginGroupUpdatePropertiesParameters": {
+ "description": "The JSON object that contains the properties of the origin group.",
+ "properties": {
+ "healthProbeSettings": {
+ "description": "Health probe settings to the origin that is used to determine the health of the origin.",
+ "type": "object",
+ "$ref": "#/definitions/HealthProbeParameters"
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN within given origin group.",
+ "type": "array",
+ "items": {
+ "description": "A reference to a origin.",
+ "$ref": "#/definitions/ResourceReference"
+ }
+ },
+ "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": {
+ "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.",
+ "type": "integer",
+ "maximum": 50,
+ "minimum": 0
+ },
+ "responseBasedOriginErrorDetectionSettings": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.",
+ "type": "object",
+ "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters"
+ }
+ }
+ },
+ "HealthProbeParameters": {
+ "description": "The JSON object that contains the properties to send health probes to origin.",
+ "properties": {
+ "probePath": {
+ "description": "The path relative to the origin that is used to determine the health of the origin.",
+ "type": "string"
+ },
+ "probeRequestType": {
+ "description": "The type of health probe request that is made.",
+ "enum": [
+ "NotSet",
+ "GET",
+ "HEAD"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthProbeRequestType",
+ "modelAsString": false
+ }
+ },
+ "probeProtocol": {
+ "description": "Protocol to use for health probe.",
+ "type": "string",
+ "enum": [
+ "NotSet",
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ProbeProtocol",
+ "modelAsString": false
+ }
+ },
+ "probeIntervalInSeconds": {
+ "description": "The number of seconds between health probes.Default is 240sec.",
+ "type": "integer",
+ "maximum": 255,
+ "minimum": 1
+ }
+ }
+ },
+ "ResponseBasedOriginErrorDetectionParameters": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses.",
+ "properties": {
+ "responseBasedDetectedErrorTypes": {
+ "description": "Type of response errors for real user requests for which origin will be deemed unhealthy",
+ "type": "string",
+ "enum": [
+ "None",
+ "TcpErrorsOnly",
+ "TcpAndHttpErrors"
+ ],
+ "x-ms-enum": {
+ "name": "ResponseBasedDetectedErrorTypes",
+ "modelAsString": false
+ }
+ },
+ "responseBasedFailoverThresholdPercentage": {
+ "description": "The percentage of failed requests in the sample where failover should trigger.",
+ "type": "integer",
+ "maximum": 100,
+ "minimum": 0
+ },
+ "httpErrorRanges": {
+ "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpErrorRangeParameters"
+ }
+ }
+ }
+ },
+ "HttpErrorRangeParameters": {
+ "description": "The JSON object that represents the range for http status codes",
+ "properties": {
+ "begin": {
+ "description": "The inclusive start of the http status code range.",
+ "type": "integer",
+ "maximum": 999,
+ "minimum": 100
+ },
+ "end": {
+ "description": "The inclusive end of the http status code range.",
+ "type": "integer",
+ "maximum": 999,
+ "minimum": 100
+ }
+ }
+ },
+ "OriginGroupListResult": {
+ "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "description": "List of CDN origin groups within an endpoint"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of origin objects if there are any."
+ }
+ }
+ },
+ "CustomDomain": {
+ "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainProperties"
+ }
+ }
+ },
+ "CustomDomainProperties": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Resource status of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomDomainResourceState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningState": {
+ "description": "Provisioning status of Custom Https of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningSubstate": {
+ "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.",
+ "readOnly": true,
+ "enum": [
+ "SubmittingDomainControlValidationRequest",
+ "PendingDomainControlValidationREquestApproval",
+ "DomainControlValidationRequestApproved",
+ "DomainControlValidationRequestRejected",
+ "DomainControlValidationRequestTimedOut",
+ "IssuingCertificate",
+ "DeployingCertificate",
+ "CertificateDeployed",
+ "DeletingCertificate",
+ "CertificateDeleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningSubstate",
+ "modelAsString": true
+ }
+ },
+ "validationData": {
+ "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the custom domain.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainParameters": {
+ "description": "The customDomain JSON object required for custom domain creation or update.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainPropertiesParameters"
+ }
+ }
+ },
+ "CustomDomainPropertiesParameters": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainHttpsParameters": {
+ "description": "The JSON object that contains the properties to secure a custom domain.",
+ "discriminator": "certificateSource",
+ "required": [
+ "certificateSource",
+ "protocolType"
+ ],
+ "properties": {
+ "certificateSource": {
+ "description": "Defines the source of the SSL certificate.",
+ "enum": [
+ "AzureKeyVault",
+ "Cdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateSource",
+ "modelAsString": true
+ }
+ },
+ "protocolType": {
+ "description": "Defines the TLS extension protocol that is used for secure delivery.",
+ "enum": [
+ "ServerNameIndication",
+ "IPBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtocolType",
+ "modelAsString": true
+ }
+ },
+ "minimumTlsVersion": {
+ "description": "TLS protocol version that will be used for Https",
+ "enum": [
+ "None",
+ "TLS10",
+ "TLS12"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MinimumTlsVersion",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "CdnManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "x-ms-discriminator-value": "Cdn",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "$ref": "#/definitions/CdnCertificateSourceParameters"
+ }
+ }
+ },
+ "CdnCertificateSourceParameters": {
+ "description": "Defines the parameters for using CDN managed certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "certificateType"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
+ ]
+ },
+ "certificateType": {
+ "description": "Type of certificate used",
+ "enum": [
+ "Shared",
+ "Dedicated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "x-ms-discriminator-value": "AzureKeyVault",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "$ref": "#/definitions/KeyVaultCertificateSourceParameters"
+ }
+ }
+ },
+ "KeyVaultCertificateSourceParameters": {
+ "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "subscriptionId",
+ "resourceGroupName",
+ "vaultName",
+ "secretName",
+ "secretVersion",
+ "updateRule",
+ "deleteRule"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters"
+ ]
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Resource group of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "The name of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "secretName": {
+ "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version(GUID) of Key Vault Secret in Key Vault.",
+ "type": "string"
+ },
+ "updateRule": {
+ "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateRule",
+ "modelAsString": true
+ }
+ },
+ "deleteRule": {
+ "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteRule",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CustomDomainListResult": {
+ "description": "Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CustomDomain"
+ },
+ "description": "List of CDN CustomDomains within an endpoint."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ValidateCustomDomainInput": {
+ "description": "Input of the custom domain to be validated for DNS mapping.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateCustomDomainOutput": {
+ "description": "Output of custom domain validation.",
+ "type": "object",
+ "properties": {
+ "customDomainValidated": {
+ "description": "Indicates whether the custom domain is valid or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message describing why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityInput": {
+ "description": "Input of CheckNameAvailability API.",
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "The resource name to validate.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the resource whose name is to be validated.",
+ "$ref": "#/definitions/ResourceType"
+ }
+ }
+ },
+ "CheckNameAvailabilityOutput": {
+ "description": "Output of check name availability API.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates whether the name is available.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ValidateProbeInput": {
+ "description": "Input of the validate probe API.",
+ "properties": {
+ "probeURL": {
+ "description": "The probe URL to validate.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "probeURL"
+ ],
+ "type": "object"
+ },
+ "ValidateProbeOutput": {
+ "description": "Output of the validate probe API.",
+ "properties": {
+ "isValid": {
+ "description": "Indicates whether the probe URL is accepted or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "errorCode": {
+ "description": "Specifies the error code when the probe url is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the probe URL is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUsageListResult": {
+ "description": "Output of check resource usage API.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "description": "List of resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ResourceUsage": {
+ "description": "Output of check resource usage API.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type for which the usage is provided."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unit of the usage. e.g. Count."
+ },
+ "currentValue": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Actual value of usage on the specified resource type."
+ },
+ "limit": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Quota of the specified resource type."
+ }
+ }
+ },
+ "ResourceType": {
+ "description": "Type of CDN resource used in CheckNameAvailability.",
+ "enum": [
+ "Microsoft.Cdn/Profiles/Endpoints"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false
+ }
+ },
+ "Operation": {
+ "description": "CDN REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "readOnly": true,
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Cdn",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of CDN operations supported by the CDN resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "EdgenodeResult": {
+ "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EdgeNode"
+ },
+ "description": "Edge node of CDN service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of edgenode list results if there are any."
+ }
+ }
+ },
+ "EdgeNode": {
+ "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EdgeNodeProperties"
+ }
+ }
+ },
+ "EdgeNodeProperties": {
+ "description": "The JSON object that contains the properties required to create an edgenode.",
+ "required": [
+ "ipAddressGroups"
+ ],
+ "properties": {
+ "ipAddressGroups": {
+ "description": "List of ip address groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddressGroup"
+ }
+ }
+ }
+ },
+ "IpAddressGroup": {
+ "description": "CDN Ip address group",
+ "type": "object",
+ "properties": {
+ "deliveryRegion": {
+ "description": "The delivery region of the ip address group",
+ "type": "string"
+ },
+ "ipv4Addresses": {
+ "description": "The list of ip v4 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ },
+ "ipv6Addresses": {
+ "description": "The list of ip v6 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ }
+ }
+ },
+ "cidrIpAddress": {
+ "description": "CIDR Ip address",
+ "type": "object",
+ "properties": {
+ "baseIpAddress": {
+ "description": "Ip address itself.",
+ "type": "string"
+ },
+ "prefixLength": {
+ "description": "The length of the prefix of the ip address.",
+ "type": "integer"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "QueryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "enum": [
+ "IgnoreQueryString",
+ "BypassCaching",
+ "UseQueryString",
+ "NotSet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "QueryStringCachingBehavior",
+ "modelAsString": false
+ }
+ },
+ "Sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.",
+ "properties": {
+ "name": {
+ "description": "Name of the pricing tier.",
+ "enum": [
+ "Standard_Verizon",
+ "Premium_Verizon",
+ "Custom_Verizon",
+ "Standard_Akamai",
+ "Standard_ChinaCdn",
+ "Standard_Microsoft",
+ "Premium_ChinaCdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "OptimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.",
+ "enum": [
+ "GeneralWebDelivery",
+ "GeneralMediaStreaming",
+ "VideoOnDemandMediaStreaming",
+ "LargeFileDownload",
+ "DynamicSiteAcceleration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OptimizationType",
+ "modelAsString": true
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..0ed21fe81461
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Cdn/Profiles/Endpoints"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailabilityWithSubscription.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailabilityWithSubscription.json
new file mode 100644
index 000000000000..407de083415c
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CheckNameAvailabilityWithSubscription.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Cdn/Profiles/Endpoints"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Create.json
new file mode 100644
index 000000000000..3b1aecc6fe44
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Create.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customDomainProperties": {
+ "properties": {
+ "hostName": "www.someDomain.net"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..49c7fde06312
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Delete.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_DisableCustomHttps.json
new file mode 100644
index 000000000000..07e4ac17b862
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_DisableCustomHttps.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
new file mode 100644
index 000000000000..eb995fc91627
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "MinimumTLSVersion": "TLS12",
+ "certificateSource": "AzureKeyVault",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type": "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "vaultName": "kv",
+ "secretName": "secret1",
+ "secretVersion": "00000000-0000-0000-0000-000000000000",
+ "updateRule": "NoAction",
+ "deleteRule": "NoAction"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": "validationdata"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
new file mode 100644
index 000000000000..22892a293d40
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "MinimumTLSVersion": "TLS12",
+ "certificateSource": "Cdn",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type": "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters",
+ "certificateType": "Shared"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": "validationdata"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..6a1f50675afa
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_ListByEndpoint.json
new file mode 100644
index 000000000000..071dc287bd7b
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/CustomDomains_ListByEndpoint.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/EdgeNodes_List.json
new file mode 100644
index 000000000000..4273ff8d8efa
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/EdgeNodes_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Standard_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "180.240.184.128",
+ "prefixLength": 25
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Premium_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Premium_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Custom_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Custom_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "2606:2800:420b::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Create.json
new file mode 100644
index 000000000000..3cd43a0ae1e6
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Create.json
@@ -0,0 +1,543 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpoint": {
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "originHostHeader": "www.bing.com",
+ "originPath": "/photos",
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Delete.json
new file mode 100644
index 000000000000..61f240eece45
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Get.json
new file mode 100644
index 000000000000..d91fc54690d6
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Get.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListByProfile.json
new file mode 100644
index 000000000000..62c8889c5a53
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListByProfile.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListResourceUsage.json
new file mode 100644
index 000000000000..94be14cf7278
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ListResourceUsage.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "customdomain",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 20
+ },
+ {
+ "resourceType": "geofilter",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_LoadContent.json
new file mode 100644
index 000000000000..d8a3b7dc0ee4
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_LoadContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": [
+ "/folder1"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_PurgeContent.json
new file mode 100644
index 000000000000..d8a3b7dc0ee4
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_PurgeContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": [
+ "/folder1"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Start.json
new file mode 100644
index 000000000000..d5bda6e24110
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Start.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Starting",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Starting",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Stop.json
new file mode 100644
index 000000000000..fbe18fd3e8b2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Stop.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Stopping",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Stopping",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Update.json
new file mode 100644
index 000000000000..c185fdafe882
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_Update.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpointUpdateProperties": {
+ "tags": {
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ValidateCustomDomain.json
new file mode 100644
index 000000000000..88c6897f6e7d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Endpoints_ValidateCustomDomain.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainProperties": {
+ "hostName": "www.someDomain.com"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "customDomainValidated": true,
+ "message": null,
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Operations_List.json
new file mode 100644
index 000000000000..37e682864297
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Operations_List.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Cdn/register/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Microsoft.Cdn Resource Provider",
+ "operation": "Registers the Microsoft.Cdn Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "CheckResourceUsage"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "GenerateSsoUri"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Create.json
new file mode 100644
index 000000000000..132310af4084
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Create.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "origingroup1",
+ "originGroup": {
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "originGroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Delete.json
new file mode 100644
index 000000000000..a077a01ecb3c
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Get.json
new file mode 100644
index 000000000000..75572fe93958
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpAndHttpErrors",
+ "responseBasedFailoverThresholdPercentage": 10,
+ "httpErrorRanges": [
+ {
+ "begin": 500,
+ "end": 505
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_ListByEndpoint.json
new file mode 100644
index 000000000000..e6fcbb1d488c
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_ListByEndpoint.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Update.json
new file mode 100644
index 000000000000..d1842b465ada
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/OriginGroups_Update.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1",
+ "originGroupUpdateProperties": {
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json
new file mode 100644
index 000000000000..d3c150a3c64c
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net",
+ "origin": {
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Delete.json
new file mode 100644
index 000000000000..6aa3a2d53dde
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "origin1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json
new file mode 100644
index 000000000000..be96f1425202
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json
new file mode 100644
index 000000000000..4c2643e643a8
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json
new file mode 100644
index 000000000000..ba0d895812e3
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net",
+ "originUpdateProperties": {
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Create.json
new file mode 100644
index 000000000000..0be6ca9ceed5
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Create.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profile": {
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Delete.json
new file mode 100644
index 000000000000..9d4891b28a55
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_GenerateSsoUri.json
new file mode 100644
index 000000000000..29a368137e06
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_GenerateSsoUri.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ssoUriValue": "https://someuri.com"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Get.json
new file mode 100644
index 000000000000..514a0a46bbf1
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_List.json
new file mode 100644
index 000000000000..3c8685636552
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListByResourceGroup.json
new file mode 100644
index 000000000000..dc4144a9ee91
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListResourceUsage.json
new file mode 100644
index 000000000000..5e7061ca7644
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListResourceUsage.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "endpoint",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListSupportedOptimizationTypes.json
new file mode 100644
index 000000000000..4940c90d7574
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_ListSupportedOptimizationTypes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportedOptimizationTypes": [
+ "GeneralWebDelivery",
+ "DynamicSiteAcceleration"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Update.json
new file mode 100644
index 000000000000..9105c3e8c397
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Profiles_Update.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profileUpdateParameters": {
+ "tags": {
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ResourceUsage_List.json
new file mode 100644
index 000000000000..56dfe8243c9a
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ResourceUsage_List.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "profile",
+ "unit": "count",
+ "currentValue": 31,
+ "limit": 200
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ValidateProbe.json
new file mode 100644
index 000000000000..c26c47d0469d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/ValidateProbe.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-12-31",
+ "subscriptionId": "subid",
+ "validateProbeInput": {
+ "probeURL": "https://www.bing.com/image"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true,
+ "errorCode": "None",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 52a58cae05d2..ac6e2f874a2f 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -31,6 +31,15 @@ openapi-type: arm
tag: package-2019-04
```
+### Tag: package-2019-12
+
+These settings apply only when `--tag=package-2019-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-12'
+input-file:
+- Microsoft.Cdn/stable/2019-12-31/cdn.json
+```
+
### Tag: package-2019-06
These settings apply only when `--tag=package-2019-06` is specified on the command line.
@@ -158,6 +167,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Cdn/stable/2019-12-31/cdn.json
- $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
- $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json
- $(this-folder)/Microsoft.Cdn/stable/2019-04-15/cdn.json
diff --git a/specification/cdn/resource-manager/readme.typescript.md b/specification/cdn/resource-manager/readme.typescript.md
index bd2a17ef3bf2..148f723dbe4b 100644
--- a/specification/cdn/resource-manager/readme.typescript.md
+++ b/specification/cdn/resource-manager/readme.typescript.md
@@ -10,5 +10,6 @@ typescript:
payload-flattening-threshold: 2
package-name: "@azure/arm-cdn"
output-folder: "$(typescript-sdks-folder)/sdk/cdn/arm-cdn"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
index 3fd80c40c8bb..ce059f848f1b 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
@@ -3,7 +3,7 @@
"info": {
"version": "1.0",
"title": "Anomaly Detector Client",
- "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two functionalities, one is for detecting the whole series with model trained by the timeseries, another is detecting last point with model trained by points before. By using this service, business customers can discover incidents and establish a logic flow for root cause analysis."
+ "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis."
},
"securityDefinitions": {
"apiKeyHeader": {
@@ -43,12 +43,8 @@
}
}
],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"responses": {
"200": {
"description": "Successful operation.",
@@ -86,12 +82,8 @@
}
}
],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"responses": {
"200": {
"description": "Successful operation.",
@@ -112,6 +104,45 @@
}
}
}
+ },
+ "/timeseries/changePoint/detect": {
+ "post": {
+ "summary": "Detect change point for the entire series",
+ "description": "Evaluate change point score of every series point",
+ "operationId": "ChangePointDetect",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and granularity is needed. Advanced model parameters can also be set in the request if needed.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectRequest"
+ }
+ }
+ ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect change point example": {
+ "$ref": "./examples/ChangePointDetect.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -127,7 +158,10 @@
"InvalidGranularity",
"InvalidPeriod",
"InvalidModelArgument",
- "InvalidSeries"
+ "InvalidSeries",
+ "InvalidJsonFormat",
+ "RequiredGranularity",
+ "RequiredSeries"
],
"x-ms-enum": {
"name": "AnomalyDetectorErrorCodes",
@@ -140,12 +174,25 @@
}
}
},
+ "Granularity": {
+ "type": "string",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "Granularity",
+ "modelAsString": false
+ },
+ "enum": ["yearly", "monthly", "weekly", "daily", "hourly", "minutely"]
+ },
+ "CustomInterval": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ },
"Request": {
"type": "object",
- "required": [
- "granularity",
- "series"
- ],
+ "required": ["granularity", "series"],
"properties": {
"series": {
"type": "array",
@@ -155,25 +202,11 @@
}
},
"granularity": {
- "type": "string",
- "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.",
- "x-ms-enum": {
- "name": "Granularity",
- "modelAsString": false
- },
- "enum": [
- "yearly",
- "monthly",
- "weekly",
- "daily",
- "hourly",
- "minutely"
- ]
+ "$ref": "#/definitions/Granularity"
},
"customInterval": {
- "type": "integer",
- "format": "int32",
- "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
},
"period": {
"type": "integer",
@@ -194,10 +227,7 @@
},
"Point": {
"type": "object",
- "required": [
- "timestamp",
- "value"
- ],
+ "required": ["timestamp", "value"],
"properties": {
"timestamp": {
"type": "string",
@@ -332,6 +362,70 @@
"description": "Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one."
}
}
+ },
+ "ChangePointDetectRequest": {
+ "type": "object",
+ "required": ["granularity", "series"],
+ "properties": {
+ "series": {
+ "type": "array",
+ "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.",
+ "items": {
+ "$ref": "#/definitions/Point"
+ }
+ },
+ "granularity": {
+ "$ref": "#/definitions/Granularity",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid."
+ },
+ "customInterval": {
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
+ },
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically."
+ },
+ "stableTrendWindow": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, advanced model parameter, a default stableTrendWindow will be used in detection."
+ },
+ "threshold": {
+ "type": "number",
+ "format": "float",
+ "description": "Optional argument, advanced model parameter, between 0.0-1.0, the lower the value is, the larger the trend error will be which means less change point will be accepted."
+ }
+ }
+ },
+ "ChangePointDetectResponse": {
+ "type": "object",
+ "required": ["isChangePoint", "confidenceScores", "period"],
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "isChangePoint": {
+ "type": "array",
+ "description": "isChangePoint contains change point properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "x-nullable": false
+ }
+ },
+ "confidenceScores": {
+ "type": "array",
+ "description": "the change point confidence of each point",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": false
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json
new file mode 100644
index 000000000000..e8866dadda32
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json
@@ -0,0 +1,1569 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [
+ {
+ "timestamp": "2017-01-01T06:45:00Z",
+ "value": 1639196
+ },
+ {
+ "timestamp": "2017-01-01T06:50:00Z",
+ "value": 1639290
+ },
+ {
+ "timestamp": "2017-01-01T06:55:00Z",
+ "value": 1667293
+ },
+ {
+ "timestamp": "2017-01-01T07:00:00Z",
+ "value": 1703130
+ },
+ {
+ "timestamp": "2017-01-01T07:05:00Z",
+ "value": 1650912
+ },
+ {
+ "timestamp": "2017-01-01T07:10:00Z",
+ "value": 1653596
+ },
+ {
+ "timestamp": "2017-01-01T07:15:00Z",
+ "value": 1653793
+ },
+ {
+ "timestamp": "2017-01-01T07:20:00Z",
+ "value": 1653795
+ },
+ {
+ "timestamp": "2017-01-01T07:25:00Z",
+ "value": 1663471
+ },
+ {
+ "timestamp": "2017-01-01T07:30:00Z",
+ "value": 1662358
+ },
+ {
+ "timestamp": "2017-01-01T07:35:00Z",
+ "value": 1664320
+ },
+ {
+ "timestamp": "2017-01-01T07:40:00Z",
+ "value": 1664942
+ },
+ {
+ "timestamp": "2017-01-01T07:45:00Z",
+ "value": 1664966
+ },
+ {
+ "timestamp": "2017-01-01T07:50:00Z",
+ "value": 1724271
+ },
+ {
+ "timestamp": "2017-01-01T07:55:00Z",
+ "value": 1678720
+ },
+ {
+ "timestamp": "2017-01-01T08:00:00Z",
+ "value": 1672536
+ },
+ {
+ "timestamp": "2017-01-01T08:05:00Z",
+ "value": 1672544
+ },
+ {
+ "timestamp": "2017-01-01T08:10:00Z",
+ "value": 1672364
+ },
+ {
+ "timestamp": "2017-01-01T08:15:00Z",
+ "value": 1672912
+ },
+ {
+ "timestamp": "2017-01-01T08:20:00Z",
+ "value": 1672736
+ },
+ {
+ "timestamp": "2017-01-01T08:25:00Z",
+ "value": 1672725
+ },
+ {
+ "timestamp": "2017-01-01T08:30:00Z",
+ "value": 1673247
+ },
+ {
+ "timestamp": "2017-01-01T08:35:00Z",
+ "value": 1673109
+ },
+ {
+ "timestamp": "2017-01-01T08:40:00Z",
+ "value": 1690088
+ },
+ {
+ "timestamp": "2017-01-01T08:45:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:50:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:55:00Z",
+ "value": 1786581
+ },
+ {
+ "timestamp": "2017-01-01T09:00:00Z",
+ "value": 1800945
+ },
+ {
+ "timestamp": "2017-01-01T09:05:00Z",
+ "value": 1800957
+ },
+ {
+ "timestamp": "2017-01-01T09:10:00Z",
+ "value": 1801191
+ },
+ {
+ "timestamp": "2017-01-01T09:15:00Z",
+ "value": 1801412
+ },
+ {
+ "timestamp": "2017-01-01T09:20:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:25:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:30:00Z",
+ "value": 1801654
+ },
+ {
+ "timestamp": "2017-01-01T09:35:00Z",
+ "value": 1802105
+ },
+ {
+ "timestamp": "2017-01-01T09:40:00Z",
+ "value": 1801800
+ },
+ {
+ "timestamp": "2017-01-01T09:45:00Z",
+ "value": 1803040
+ },
+ {
+ "timestamp": "2017-01-01T09:50:00Z",
+ "value": 1803672
+ },
+ {
+ "timestamp": "2017-01-01T09:55:00Z",
+ "value": 1803535
+ },
+ {
+ "timestamp": "2017-01-01T10:00:00Z",
+ "value": 1803541
+ },
+ {
+ "timestamp": "2017-01-01T10:05:00Z",
+ "value": 1803545
+ },
+ {
+ "timestamp": "2017-01-01T10:10:00Z",
+ "value": 1803599
+ },
+ {
+ "timestamp": "2017-01-01T10:15:00Z",
+ "value": 1803616
+ },
+ {
+ "timestamp": "2017-01-01T10:20:00Z",
+ "value": 1803619
+ },
+ {
+ "timestamp": "2017-01-01T10:25:00Z",
+ "value": 1809942
+ },
+ {
+ "timestamp": "2017-01-01T10:30:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:35:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:40:00Z",
+ "value": 1802888
+ },
+ {
+ "timestamp": "2017-01-01T10:45:00Z",
+ "value": 1809574
+ },
+ {
+ "timestamp": "2017-01-01T10:50:00Z",
+ "value": 1803896
+ },
+ {
+ "timestamp": "2017-01-01T10:55:00Z",
+ "value": 1803850
+ },
+ {
+ "timestamp": "2017-01-01T11:00:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:05:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:10:00Z",
+ "value": 1803797
+ },
+ {
+ "timestamp": "2017-01-01T11:15:00Z",
+ "value": 1803921
+ },
+ {
+ "timestamp": "2017-01-01T11:20:00Z",
+ "value": 1803933
+ },
+ {
+ "timestamp": "2017-01-01T11:25:00Z",
+ "value": 1804040
+ },
+ {
+ "timestamp": "2017-01-01T11:30:00Z",
+ "value": 1804044
+ },
+ {
+ "timestamp": "2017-01-01T11:35:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:40:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:45:00Z",
+ "value": 1804068
+ },
+ {
+ "timestamp": "2017-01-01T11:50:00Z",
+ "value": 1804073
+ },
+ {
+ "timestamp": "2017-01-01T11:55:00Z",
+ "value": 1804101
+ },
+ {
+ "timestamp": "2017-01-01T12:00:00Z",
+ "value": 1804674
+ },
+ {
+ "timestamp": "2017-01-01T12:05:00Z",
+ "value": 1804714
+ },
+ {
+ "timestamp": "2017-01-01T12:10:00Z",
+ "value": 1804730
+ },
+ {
+ "timestamp": "2017-01-01T12:15:00Z",
+ "value": 1804816
+ },
+ {
+ "timestamp": "2017-01-01T12:20:00Z",
+ "value": 1803996
+ },
+ {
+ "timestamp": "2017-01-01T12:25:00Z",
+ "value": 1803998
+ },
+ {
+ "timestamp": "2017-01-01T12:30:00Z",
+ "value": 1804015
+ },
+ {
+ "timestamp": "2017-01-01T12:35:00Z",
+ "value": 1804047
+ },
+ {
+ "timestamp": "2017-01-01T12:40:00Z",
+ "value": 1804050
+ },
+ {
+ "timestamp": "2017-01-01T12:45:00Z",
+ "value": 1804218
+ },
+ {
+ "timestamp": "2017-01-01T12:50:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T12:55:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T13:00:00Z",
+ "value": 1804205
+ },
+ {
+ "timestamp": "2017-01-01T13:05:00Z",
+ "value": 1804728
+ },
+ {
+ "timestamp": "2017-01-01T13:10:00Z",
+ "value": 1804748
+ },
+ {
+ "timestamp": "2017-01-01T13:15:00Z",
+ "value": 1805232
+ },
+ {
+ "timestamp": "2017-01-01T13:20:00Z",
+ "value": 1814121
+ },
+ {
+ "timestamp": "2017-01-01T13:25:00Z",
+ "value": 1806789
+ },
+ {
+ "timestamp": "2017-01-01T13:30:00Z",
+ "value": 1806119
+ },
+ {
+ "timestamp": "2017-01-01T13:35:00Z",
+ "value": 1806329
+ },
+ {
+ "timestamp": "2017-01-01T13:40:00Z",
+ "value": 1806454
+ },
+ {
+ "timestamp": "2017-01-01T13:45:00Z",
+ "value": 1806852
+ },
+ {
+ "timestamp": "2017-01-01T13:50:00Z",
+ "value": 1807347
+ },
+ {
+ "timestamp": "2017-01-01T13:55:00Z",
+ "value": 1812144
+ },
+ {
+ "timestamp": "2017-01-01T14:00:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:05:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:10:00Z",
+ "value": 1807432
+ },
+ {
+ "timestamp": "2017-01-01T14:15:00Z",
+ "value": 1808540
+ },
+ {
+ "timestamp": "2017-01-01T14:20:00Z",
+ "value": 1808541
+ },
+ {
+ "timestamp": "2017-01-01T14:25:00Z",
+ "value": 1807831
+ },
+ {
+ "timestamp": "2017-01-01T14:30:00Z",
+ "value": 1807852
+ },
+ {
+ "timestamp": "2017-01-01T14:35:00Z",
+ "value": 1807811
+ },
+ {
+ "timestamp": "2017-01-01T14:40:00Z",
+ "value": 2214285
+ },
+ {
+ "timestamp": "2017-01-01T14:45:00Z",
+ "value": 2215019
+ },
+ {
+ "timestamp": "2017-01-01T14:50:00Z",
+ "value": 2215329
+ },
+ {
+ "timestamp": "2017-01-01T14:55:00Z",
+ "value": 2215097
+ },
+ {
+ "timestamp": "2017-01-01T15:00:00Z",
+ "value": 2215129
+ },
+ {
+ "timestamp": "2017-01-01T15:05:00Z",
+ "value": 2215120
+ },
+ {
+ "timestamp": "2017-01-01T15:10:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:15:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:20:00Z",
+ "value": 2222126
+ },
+ {
+ "timestamp": "2017-01-01T15:25:00Z",
+ "value": 2226472
+ },
+ {
+ "timestamp": "2017-01-01T15:30:00Z",
+ "value": 2226722
+ },
+ {
+ "timestamp": "2017-01-01T15:35:00Z",
+ "value": 2226729
+ },
+ {
+ "timestamp": "2017-01-01T15:40:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:45:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:50:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:55:00Z",
+ "value": 2226952
+ },
+ {
+ "timestamp": "2017-01-01T16:00:00Z",
+ "value": 2226962
+ },
+ {
+ "timestamp": "2017-01-01T16:05:00Z",
+ "value": 2649337
+ },
+ {
+ "timestamp": "2017-01-01T16:10:00Z",
+ "value": 2092796
+ },
+ {
+ "timestamp": "2017-01-01T16:15:00Z",
+ "value": 2092839
+ },
+ {
+ "timestamp": "2017-01-01T16:20:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:25:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:30:00Z",
+ "value": 2092965
+ },
+ {
+ "timestamp": "2017-01-01T16:35:00Z",
+ "value": 2092979
+ },
+ {
+ "timestamp": "2017-01-01T16:40:00Z",
+ "value": 2095588
+ },
+ {
+ "timestamp": "2017-01-01T16:45:00Z",
+ "value": 2099586
+ },
+ {
+ "timestamp": "2017-01-01T16:50:00Z",
+ "value": 2102981
+ },
+ {
+ "timestamp": "2017-01-01T16:55:00Z",
+ "value": 2108053
+ },
+ {
+ "timestamp": "2017-01-01T17:00:00Z",
+ "value": 2107907
+ },
+ {
+ "timestamp": "2017-01-01T17:05:00Z",
+ "value": 2108241
+ },
+ {
+ "timestamp": "2017-01-01T17:10:00Z",
+ "value": 2100321
+ },
+ {
+ "timestamp": "2017-01-01T17:15:00Z",
+ "value": 2100448
+ },
+ {
+ "timestamp": "2017-01-01T17:20:00Z",
+ "value": 2100483
+ },
+ {
+ "timestamp": "2017-01-01T17:25:00Z",
+ "value": 2103042
+ },
+ {
+ "timestamp": "2017-01-01T17:30:00Z",
+ "value": 2103037
+ },
+ {
+ "timestamp": "2017-01-01T17:35:00Z",
+ "value": 2103040
+ },
+ {
+ "timestamp": "2017-01-01T17:40:00Z",
+ "value": 2103054
+ },
+ {
+ "timestamp": "2017-01-01T17:45:00Z",
+ "value": 2103058
+ },
+ {
+ "timestamp": "2017-01-01T17:50:00Z",
+ "value": 1830757
+ },
+ {
+ "timestamp": "2017-01-01T17:55:00Z",
+ "value": 1830855
+ },
+ {
+ "timestamp": "2017-01-01T18:00:00Z",
+ "value": 1831495
+ },
+ {
+ "timestamp": "2017-01-01T18:05:00Z",
+ "value": 1831463
+ },
+ {
+ "timestamp": "2017-01-01T18:10:00Z",
+ "value": 1831963
+ },
+ {
+ "timestamp": "2017-01-01T18:15:00Z",
+ "value": 1832046
+ },
+ {
+ "timestamp": "2017-01-01T18:20:00Z",
+ "value": 1832070
+ },
+ {
+ "timestamp": "2017-01-01T18:25:00Z",
+ "value": 1835511
+ },
+ {
+ "timestamp": "2017-01-01T18:30:00Z",
+ "value": 1835265
+ },
+ {
+ "timestamp": "2017-01-01T18:35:00Z",
+ "value": 1835481
+ },
+ {
+ "timestamp": "2017-01-01T18:40:00Z",
+ "value": 1835578
+ },
+ {
+ "timestamp": "2017-01-01T18:45:00Z",
+ "value": 1835611
+ },
+ {
+ "timestamp": "2017-01-01T18:50:00Z",
+ "value": 1836314
+ },
+ {
+ "timestamp": "2017-01-01T18:55:00Z",
+ "value": 1836369
+ },
+ {
+ "timestamp": "2017-01-01T19:00:00Z",
+ "value": 1837280
+ },
+ {
+ "timestamp": "2017-01-01T19:05:00Z",
+ "value": 1842939
+ },
+ {
+ "timestamp": "2017-01-01T19:10:00Z",
+ "value": 1843126
+ },
+ {
+ "timestamp": "2017-01-01T19:15:00Z",
+ "value": 1845840
+ },
+ {
+ "timestamp": "2017-01-01T19:20:00Z",
+ "value": 1842444
+ },
+ {
+ "timestamp": "2017-01-01T19:25:00Z",
+ "value": 1839891
+ },
+ {
+ "timestamp": "2017-01-01T19:30:00Z",
+ "value": 1839875
+ },
+ {
+ "timestamp": "2017-01-01T19:35:00Z",
+ "value": 1839870
+ },
+ {
+ "timestamp": "2017-01-01T19:40:00Z",
+ "value": 1840090
+ },
+ {
+ "timestamp": "2017-01-01T19:45:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:50:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:55:00Z",
+ "value": 1840482
+ },
+ {
+ "timestamp": "2017-01-01T20:00:00Z",
+ "value": 1841522
+ },
+ {
+ "timestamp": "2017-01-01T20:05:00Z",
+ "value": 1841836
+ },
+ {
+ "timestamp": "2017-01-01T20:10:00Z",
+ "value": 1842377
+ },
+ {
+ "timestamp": "2017-01-01T20:15:00Z",
+ "value": 1842388
+ },
+ {
+ "timestamp": "2017-01-01T20:20:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:25:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:30:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:35:00Z",
+ "value": 1842496
+ },
+ {
+ "timestamp": "2017-01-01T20:40:00Z",
+ "value": 1842689
+ },
+ {
+ "timestamp": "2017-01-01T20:45:00Z",
+ "value": 1843117
+ },
+ {
+ "timestamp": "2017-01-01T20:50:00Z",
+ "value": 1843116
+ },
+ {
+ "timestamp": "2017-01-01T20:55:00Z",
+ "value": 1843227
+ },
+ {
+ "timestamp": "2017-01-01T21:00:00Z",
+ "value": 1843138
+ },
+ {
+ "timestamp": "2017-01-01T21:05:00Z",
+ "value": 1843141
+ },
+ {
+ "timestamp": "2017-01-01T21:10:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:15:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:20:00Z",
+ "value": 1843507
+ },
+ {
+ "timestamp": "2017-01-01T21:25:00Z",
+ "value": 1843953
+ },
+ {
+ "timestamp": "2017-01-01T21:30:00Z",
+ "value": 1844778
+ },
+ {
+ "timestamp": "2017-01-01T21:35:00Z",
+ "value": 1843918
+ },
+ {
+ "timestamp": "2017-01-01T21:40:00Z",
+ "value": 1882692
+ },
+ {
+ "timestamp": "2017-01-01T21:45:00Z",
+ "value": 1974888
+ },
+ {
+ "timestamp": "2017-01-01T21:50:00Z",
+ "value": 2157136
+ },
+ {
+ "timestamp": "2017-01-01T21:55:00Z",
+ "value": 2154987
+ },
+ {
+ "timestamp": "2017-01-01T22:00:00Z",
+ "value": 2155664
+ },
+ {
+ "timestamp": "2017-01-01T22:05:00Z",
+ "value": 2155660
+ },
+ {
+ "timestamp": "2017-01-01T22:10:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:15:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:20:00Z",
+ "value": 2156329
+ },
+ {
+ "timestamp": "2017-01-01T22:25:00Z",
+ "value": 2156479
+ },
+ {
+ "timestamp": "2017-01-01T22:30:00Z",
+ "value": 2165269
+ },
+ {
+ "timestamp": "2017-01-01T22:35:00Z",
+ "value": 2165433
+ },
+ {
+ "timestamp": "2017-01-01T22:40:00Z",
+ "value": 2165739
+ },
+ {
+ "timestamp": "2017-01-01T22:45:00Z",
+ "value": 2165931
+ },
+ {
+ "timestamp": "2017-01-01T22:50:00Z",
+ "value": 2165928
+ },
+ {
+ "timestamp": "2017-01-01T22:55:00Z",
+ "value": 2165989
+ },
+ {
+ "timestamp": "2017-01-01T23:00:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:05:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:10:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:15:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:20:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:25:00Z",
+ "value": 2486021
+ },
+ {
+ "timestamp": "2017-01-01T23:30:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:35:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:40:00Z",
+ "value": 2485324
+ },
+ {
+ "timestamp": "2017-01-01T23:45:00Z",
+ "value": 2489142
+ },
+ {
+ "timestamp": "2017-01-01T23:50:00Z",
+ "value": 2526312
+ },
+ {
+ "timestamp": "2017-01-01T23:55:00Z",
+ "value": 2526313
+ },
+ {
+ "timestamp": "2017-01-02T00:00:00Z",
+ "value": 2526314
+ },
+ {
+ "timestamp": "2017-01-02T00:05:00Z",
+ "value": 2526324
+ },
+ {
+ "timestamp": "2017-01-02T00:10:00Z",
+ "value": 2526325
+ },
+ {
+ "timestamp": "2017-01-02T00:15:00Z",
+ "value": 2526205
+ },
+ {
+ "timestamp": "2017-01-02T00:20:00Z",
+ "value": 2526226
+ },
+ {
+ "timestamp": "2017-01-02T00:25:00Z",
+ "value": 2526475
+ },
+ {
+ "timestamp": "2017-01-02T00:30:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:35:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:40:00Z",
+ "value": 2526534
+ },
+ {
+ "timestamp": "2017-01-02T00:45:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:50:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:55:00Z",
+ "value": 2526648
+ },
+ {
+ "timestamp": "2017-01-02T01:00:00Z",
+ "value": 2526658
+ },
+ {
+ "timestamp": "2017-01-02T01:05:00Z",
+ "value": 2526771
+ },
+ {
+ "timestamp": "2017-01-02T01:10:00Z",
+ "value": 2526773
+ },
+ {
+ "timestamp": "2017-01-02T01:15:00Z",
+ "value": 2526793
+ },
+ {
+ "timestamp": "2017-01-02T01:20:00Z",
+ "value": 2527010
+ },
+ {
+ "timestamp": "2017-01-02T01:25:00Z",
+ "value": 2527031
+ },
+ {
+ "timestamp": "2017-01-02T01:30:00Z",
+ "value": 3178096
+ },
+ {
+ "timestamp": "2017-01-02T01:35:00Z",
+ "value": 3196305
+ },
+ {
+ "timestamp": "2017-01-02T01:40:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:45:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:50:00Z",
+ "value": 3196205
+ },
+ {
+ "timestamp": "2017-01-02T01:55:00Z",
+ "value": 3229232
+ },
+ {
+ "timestamp": "2017-01-02T02:00:00Z",
+ "value": 3230463
+ },
+ {
+ "timestamp": "2017-01-02T02:05:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:10:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:15:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:20:00Z",
+ "value": 3230470
+ },
+ {
+ "timestamp": "2017-01-02T02:25:00Z",
+ "value": 3230467
+ },
+ {
+ "timestamp": "2017-01-02T02:30:00Z",
+ "value": 3230506
+ },
+ {
+ "timestamp": "2017-01-02T02:35:00Z",
+ "value": 3231536
+ },
+ {
+ "timestamp": "2017-01-02T02:40:00Z",
+ "value": 3230723
+ },
+ {
+ "timestamp": "2017-01-02T02:45:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:50:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:55:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T03:00:00Z",
+ "value": 3231880
+ },
+ {
+ "timestamp": "2017-01-02T03:05:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:10:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:15:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:20:00Z",
+ "value": 3232325
+ },
+ {
+ "timestamp": "2017-01-02T03:25:00Z",
+ "value": 3232323
+ },
+ {
+ "timestamp": "2017-01-02T03:30:00Z",
+ "value": 3232327
+ },
+ {
+ "timestamp": "2017-01-02T03:35:00Z",
+ "value": 3232340
+ },
+ {
+ "timestamp": "2017-01-02T03:40:00Z",
+ "value": 3232713
+ },
+ {
+ "timestamp": "2017-01-02T03:45:00Z",
+ "value": 3232729
+ },
+ {
+ "timestamp": "2017-01-02T03:50:00Z",
+ "value": 3232756
+ },
+ {
+ "timestamp": "2017-01-02T03:55:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:00:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:05:00Z",
+ "value": 3233500
+ }
+ ],
+ "granularity": "minutely",
+ "customInterval": 5,
+ "stableTrendWindow": 10,
+ "threshold": 0.99,
+ "period": 0
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "period": 0,
+ "confidenceScores": [
+ 0.11841763735063232,
+ 0.014857199927548581,
+ 0.0887032374955278,
+ 0.07430314751946857,
+ 0.059903057543409355,
+ 0.04132288981790399,
+ 0.022742722092391268,
+ 0.0005683208474757854,
+ 0.0216060803974397,
+ 0.053248991089971616,
+ 0.08489190178249614,
+ 0.04322511558132514,
+ 0.085336620199234,
+ 0.05876047041512903,
+ 0.02673755265447302,
+ 0.005032027060762012,
+ 0.031323171543775764,
+ 0.06299774949197792,
+ 0.08944723025337244,
+ 0.11523169864554421,
+ 0.14288453512268834,
+ 0.001592562559717675,
+ 0.32637788222282893,
+ 0,
+ 7.37310752217245e-15,
+ 2.211932256651735e-14,
+ 1,
+ 0.015697015891758138,
+ 0.01242773215043403,
+ 0.016188579169534697,
+ 0.019537751864826272,
+ 0.022506917491993753,
+ 0.01885762668253081,
+ 0.016253355310429398,
+ 0.017227483829906676,
+ 0.023236706002118527,
+ 0.03906277743439327,
+ 0.0354134866249377,
+ 0.037084294769315296,
+ 0.038248426822850935,
+ 0.050274427573818385,
+ 0.046815140298421175,
+ 0.043292518511668716,
+ 0.041353259508804745,
+ 0.038242312045861385,
+ 0.0346880230034313,
+ 0.032717096744889713,
+ 0.033026212895129546,
+ 0.031055286636580585,
+ 0.0275326648498355,
+ 0.023883374040372555,
+ 0.021564107969369743,
+ 0.018706498551854727,
+ 0.01543721481052325,
+ 0.015176320358565887,
+ 0.011527029549110314,
+ 0.008004407762357859,
+ 0.004355116952902286,
+ 0.0007058261434393403,
+ 0.0030701336887340946,
+ 0.006592755475479178,
+ 0.010147044517909256,
+ 0.013701333560339335,
+ 0.016780613767597707,
+ 0.020366570065705403,
+ 0.024015860875168354,
+ 0.02757014991759106,
+ 0.03033275756808058,
+ 0.03068865378707081,
+ 0.03395793752839492,
+ 0.03760722833785786,
+ 0.04122485189164318,
+ 0.030433874112103007,
+ 0.032816474694461056,
+ 0.03602242392443729,
+ 0.03960838022253762,
+ 0.04268766042980336,
+ 0.04633695123926631,
+ 0.0346592903007527,
+ 0.010219725324164698,
+ 0.007218892441326965,
+ 0.006909776291079754,
+ 0.000049463551460760754,
+ 0.0016047901503119819,
+ 0.01042121060065547,
+ 0.009020294944303705,
+ 0.005371004134840759,
+ 0.0021650549048718984,
+ 0.010517653997227793,
+ 0.0075017083013172925,
+ 0.00385241749186172,
+ 0.0008681390516288423,
+ 0.019005920148370017,
+ 0.015388296594592068,
+ 0.12583612799160215,
+ 1,
+ 0.005055878353042495,
+ 0.007613932468790628,
+ 0.011913685646822731,
+ 0.0166567804043268,
+ 0.015351429327405014,
+ 0.034309821169245976,
+ 0.0292817211106433,
+ 0.02425362105202589,
+ 0.019225520993423218,
+ 0.01419742093482055,
+ 0.00916932087621788,
+ 0.004141220817600464,
+ 0.0008868792410022057,
+ 0.0059149792996048755,
+ 0.010943079358207547,
+ 0.015971179416810213,
+ 0.02099927947542763,
+ 1,
+ 0.11533376425564247,
+ 0.1207645081246342,
+ 0.025174230145423273,
+ 0.09422487163021387,
+ 0.08417070843230404,
+ 0.07411654523437947,
+ 0.06406238203646963,
+ 0.0540082188385598,
+ 0.04395405564064997,
+ 0.03500824639144218,
+ 0.024954083193532338,
+ 0.014899919995622513,
+ 0.004845756797712681,
+ 0.005208406400211895,
+ 0.015262569598121728,
+ 0.025316732796031558,
+ 0.03537089599394139,
+ 0.045425059191865964,
+ 0.05145748091871777,
+ 1,
+ 0.011663506282381296,
+ 0.0043856580970499884,
+ 0.002892190088273945,
+ 0.01017003827359788,
+ 0.01744788645892181,
+ 0.024725734644253115,
+ 0.03200358282957705,
+ 0.03928143101490098,
+ 0.046559279200224915,
+ 0.05383712738555622,
+ 0.060069956133518614,
+ 0.0450857235774741,
+ 0.050621872700536176,
+ 0.029050850963546225,
+ 0.045689493056171517,
+ 0.0385699811492357,
+ 0.03179880905474635,
+ 0.03082274474926925,
+ 0.03586345902254038,
+ 0.028585610837209074,
+ 0.021402764418918006,
+ 0.04705886213832124,
+ 0.049724532235770696,
+ 0.05957866937203304,
+ 0.052649160999162954,
+ 0.045371312813839014,
+ 0.03809346462851508,
+ 0.030815616443183775,
+ 0.023537768257859845,
+ 0.01945831289597576,
+ 0.012180464710644455,
+ 0.00490261652532052,
+ 0.002153560870260057,
+ 0.0033196287098028916,
+ 0.0029244412792105113,
+ 0.0043217396504358,
+ 0.010934575466529664,
+ 0.018117421884820732,
+ 0.02267188608187652,
+ 0.027321352045957807,
+ 0.03459920023128174,
+ 0.03563859904812146,
+ 0.02990120514994264,
+ 0.03607069938654979,
+ 0.017223061637835352,
+ 7.37310752217245e-15,
+ 1.47462150443449e-14,
+ 1,
+ 0.046440552438977135,
+ 0.012233652454378385,
+ 0.017033155644526038,
+ 0.05136672465183527,
+ 0.06970832954194527,
+ 0.09929181019761117,
+ 0.11281999222473732,
+ 0.11039622919405537,
+ 0.08125609011787617,
+ 0.05661270134791935,
+ 0.028264243663680723,
+ 0.005974323576610399,
+ 0.038471191754617544,
+ 0,
+ 0,
+ 0,
+ 0.020288532128574968,
+ 0.005041879493223223,
+ 0.009223088216122232,
+ 0.009332792637570532,
+ 0.024579445272937026,
+ 0.03289096891488949,
+ 0.050695883419617865,
+ 1,
+ 0.000748013913075547,
+ 0.002186373999917361,
+ 0.0009330173541465358,
+ 0.00032033929162428933,
+ 0.0012886906362965138,
+ 0.002542047282052593,
+ 0.0007963481454318109,
+ 0.0004886757560166365,
+ 0.0016470306347398486,
+ 0.001063686451208582,
+ 0.0011980222832366648,
+ 0.00008700161821178273,
+ 0.0013086910082902394,
+ 0.0022770423529624643,
+ 0.000016333637160404937,
+ 0.0012053557529180517,
+ 0.0018570345408140537,
+ 0.0037297360397815314,
+ 0.003109724507563151,
+ 0.22869458705263188,
+ 0.2293374323429407,
+ 0.1140021204394844,
+ 0.0012381896969537412,
+ 0.11340677603264777,
+ 1,
+ 0.011793249472519423,
+ 0.008293225072094536,
+ 0.00469819890465153,
+ 0.0010715054815308995,
+ 0.0025551879416044767,
+ 0.006118546853369862,
+ 0.008605219072110835,
+ 0.0053601180131874334,
+ 0.008860142413597574,
+ 0.01248683583673295,
+ 0.01611352925985358,
+ 0.005878587160222206,
+ 0.013145429690188892,
+ 0.022280640305150038,
+ 0.01865394688201466,
+ 0.015027253458894031,
+ 0.012033905149325846,
+ 0.009040556839742916,
+ 0.005445530672299909,
+ 0.0018505045048569009,
+ 0.001744521662600853,
+ 0.005339547830043862,
+ 0.008760404091259945,
+ 0.012181260352490777,
+ 0.009902010591734853,
+ 0.007622760830993676
+ ],
+ "isChangePoint": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
index b09563822d24..585ec17fb952 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
@@ -74,6 +74,7 @@ java:
output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalydetector
with-optional-parameters: true
with-single-async-method: true
+ regenerate-manager: true
```
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/cognitiveservices/data-plane/AutoSuggest/stable/v1.0/examples/SuccessfulQueryRequest.json b/specification/cognitiveservices/data-plane/AutoSuggest/stable/v1.0/examples/SuccessfulQueryRequest.json
index 3a95b0c412a3..eb48fae13c61 100644
--- a/specification/cognitiveservices/data-plane/AutoSuggest/stable/v1.0/examples/SuccessfulQueryRequest.json
+++ b/specification/cognitiveservices/data-plane/AutoSuggest/stable/v1.0/examples/SuccessfulQueryRequest.json
@@ -15,61 +15,61 @@
},
"suggestionGroups": [
{
- "_type": "Suggestions\/SuggestionGroup",
+ "_type": "Suggestions/SuggestionGroup",
"name": "Web",
"searchSuggestions": [
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=amazon&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=amazon&FORM=USBAPI",
"displayText": "amazon",
"query": "amazon",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=alaska+airlines&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=alaska+airlines&FORM=USBAPI",
"displayText": "alaska airlines",
"query": "alaska airlines",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=aol&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=aol&FORM=USBAPI",
"displayText": "aol",
"query": "aol",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=amazon+prime&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=amazon+prime&FORM=USBAPI",
"displayText": "amazon prime",
"query": "amazon prime",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=airbnb&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=airbnb&FORM=USBAPI",
"displayText": "airbnb",
"query": "airbnb",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=american+express&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=american+express&FORM=USBAPI",
"displayText": "american express",
"query": "american express",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=autotrader&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=autotrader&FORM=USBAPI",
"displayText": "autotrader",
"query": "autotrader",
"searchKind": "WebSearch"
},
{
"_type": "SearchAction",
- "url": "https:\/\/www.bing.com\/search?q=autozone&FORM=USBAPI",
+ "url": "https://www.bing.com/search?q=autozone&FORM=USBAPI",
"displayText": "autozone",
"query": "autozone",
"searchKind": "WebSearch"
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
index 0af66e9e59e0..ab2308e427f7 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
@@ -17,6 +17,7 @@ batch:
- tag: release_2_1
- tag: release_2_2
- tag: release_3_0
+ - tag: release_3_1
```
### Tag: release_1_0 and go
@@ -54,3 +55,12 @@ Please also specify `--go-sdk-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.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/FormRecognizer/preview/v2.0/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json
new file mode 100644
index 000000000000..44eaef160894
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json
@@ -0,0 +1,1380 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0-preview",
+ "title": "Form Recognizer Client",
+ "description": "Extracts information from forms and images into structured data."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer/v2.0-preview",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/custom/models": {
+ "post": {
+ "summary": "Train Custom Model",
+ "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.",
+ "operationId": "TrainCustomModelAsync",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "trainRequest",
+ "in": "body",
+ "description": "Training request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrainRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Train custom model": {
+ "$ref": "./examples/TrainBatch.json"
+ },
+ "Train custom model with subfolder filter options": {
+ "$ref": "./examples/TrainBatchWithSubFolders.json"
+ }
+ }
+ },
+ "get": {
+ "summary": "List Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "GetCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": false,
+ "default": "full",
+ "type": "string",
+ "enum": [
+ "full",
+ "summary"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "modelList"
+ },
+ "x-ms-examples": {
+ "List custom models": {
+ "$ref": "./examples/GetModels.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}": {
+ "get": {
+ "summary": "Get Custom Model",
+ "description": "Get detailed information about a custom model.",
+ "operationId": "GetCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeKeys",
+ "in": "query",
+ "description": "Include list of extracted keys in model information.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get custom model": {
+ "$ref": "./examples/GetModel.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete Custom Model",
+ "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.",
+ "operationId": "DeleteCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period."
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete custom model": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/analyze": {
+ "post": {
+ "summary": "Analyze Form",
+ "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeWithCustomModel",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze form with custom model": {
+ "$ref": "./examples/AnalyzeBatch.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Form Result",
+ "description": "Obtain current status and the result of the analyze form operation.",
+ "operationId": "GetAnalyzeFormResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze form result": {
+ "$ref": "./examples/AnalyzeOperationResult.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/receipt/analyze": {
+ "post": {
+ "summary": "Analyze Receipt",
+ "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeReceiptAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze receipt": {
+ "$ref": "./examples/ReceiptsBatch.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/receipt/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Receipt Result",
+ "description": "Track the progress and obtain the result of the analyze receipt operation.",
+ "operationId": "GetAnalyzeReceiptResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze receipt result": {
+ "$ref": "./examples/ReceiptsBatchResult.json"
+ }
+ }
+ }
+ },
+ "/layout/analyze": {
+ "post": {
+ "summary": "Analyze Layout",
+ "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeLayoutAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze layout": {
+ "$ref": "./examples/LayoutBatch.json"
+ }
+ }
+ }
+ },
+ "/layout/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Layout Result",
+ "description": "Track the progress and obtain the result of the analyze layout operation",
+ "operationId": "GetAnalyzeLayoutResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze layout result": {
+ "$ref": "./examples/LayoutBatchResult.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status of the queued operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "AnalyzeOperationResult": {
+ "description": "Status and result of the queued analyze operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the analyze operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Results of the analyze operation.",
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ },
+ "TrainRequest": {
+ "description": "Request parameter to train a new custom model.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source path containing the training documents.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "sourceFilter": {
+ "$ref": "#/definitions/TrainSourceFilter",
+ "description": "Filter to apply to the documents in the source path for training."
+ },
+ "useLabelFile": {
+ "description": "Use label file for training a model.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "TrainSourceFilter": {
+ "description": "Filter to apply to the documents in the source path for training.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "includeSubFolders": {
+ "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TrainResult": {
+ "description": "Custom model training result.",
+ "type": "object",
+ "required": [
+ "trainingDocuments"
+ ],
+ "properties": {
+ "trainingDocuments": {
+ "description": "List of the documents used to train the model and any errors reported in each document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrainingDocumentInfo"
+ }
+ },
+ "fields": {
+ "description": "List of fields used to train the model and the train operation error reported by each.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FormFieldsReport"
+ }
+ },
+ "averageModelAccuracy": {
+ "description": "Average accuracy.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "Errors returned during the training operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "SourcePath": {
+ "description": "Uri or local path to source data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "File source path.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "SourceDataStream": {
+ "description": "A PDF document, image (jpg/png/tiff), or JSON file to analyze.",
+ "type": "object"
+ },
+ "ModelInfo": {
+ "description": "Basic custom model information.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the model.",
+ "enum": [
+ "creating",
+ "ready",
+ "invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ModelStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "Models": {
+ "description": "Response to the list custom models operation.",
+ "type": "object",
+ "properties": {
+ "summary": {
+ "description": "Summary of all trained custom models.",
+ "type": "object",
+ "required": [
+ "count",
+ "limit",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "count": {
+ "description": "Current count of trained custom models.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "limit": {
+ "description": "Max number of models that can be trained for this subscription.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the summary was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "modelList": {
+ "description": "Collection of trained custom models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of custom models.",
+ "type": "string"
+ }
+ }
+ },
+ "Model": {
+ "description": "Response to the get custom model operation.",
+ "type": "object",
+ "required": [
+ "modelInfo"
+ ],
+ "properties": {
+ "modelInfo": {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ "keys": {
+ "$ref": "#/definitions/KeysResult"
+ },
+ "trainResult": {
+ "$ref": "#/definitions/TrainResult"
+ }
+ }
+ },
+ "KeysResult": {
+ "description": "Keys extracted by the custom model.",
+ "type": "object",
+ "required": [
+ "clusters"
+ ],
+ "properties": {
+ "clusters": {
+ "description": "Object mapping clusterIds to a list of keys.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "TrainingDocumentInfo": {
+ "description": "Report for a custom model training document.",
+ "type": "object",
+ "required": [
+ "documentName",
+ "pages",
+ "errors",
+ "status"
+ ],
+ "properties": {
+ "documentName": {
+ "description": "Training document name.",
+ "type": "string"
+ },
+ "pages": {
+ "format": "int32",
+ "description": "Total number of pages trained.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "List of errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ },
+ "status": {
+ "description": "Status of the training operation.",
+ "enum": [
+ "succeeded",
+ "partiallySucceeded",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrainStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "FormFieldsReport": {
+ "description": "Report for a custom model training field.",
+ "type": "object",
+ "required": [
+ "fieldName",
+ "accuracy"
+ ],
+ "properties": {
+ "fieldName": {
+ "description": "Training field name.",
+ "type": "string"
+ },
+ "accuracy": {
+ "description": "Estimated extraction accuracy for this field.",
+ "type": "number",
+ "x-nullable": false
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ },
+ "ErrorInformation": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeResult": {
+ "description": "Analyze operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ },
+ "pageResults": {
+ "description": "Page-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PageResult"
+ }
+ },
+ "documentResults": {
+ "description": "Document-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentResult"
+ }
+ },
+ "errors": {
+ "description": "List of errors reported during the analyze operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "angle": {
+ "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].",
+ "type": "number",
+ "minimum": -180,
+ "maximum": 180,
+ "exclusiveMinimum": true,
+ "x-nullable": false
+ },
+ "width": {
+ "description": "The width of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "height": {
+ "description": "The height of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "unit": {
+ "description": "The unit used by the width, height and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "LengthUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "language": {
+ "description": "The detected language on the page overall.",
+ "$ref": "#/definitions/Language"
+ },
+ "lines": {
+ "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextLine"
+ }
+ }
+ }
+ },
+ "Language": {
+ "description": "Language code",
+ "type": "string",
+ "enum": [
+ "en",
+ "es"
+ ],
+ "x-ms-enum": {
+ "name": "Language",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "TextLine": {
+ "description": "An object representing an extracted text line.",
+ "type": "object",
+ "required": [
+ "text",
+ "boundingBox",
+ "words"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "language": {
+ "description": "The detected language of this line, if different from the overall page language.",
+ "$ref": "#/definitions/Language"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextWord"
+ }
+ }
+ }
+ },
+ "TextWord": {
+ "description": "An object representing a word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.",
+ "type": "array",
+ "minItems": 8,
+ "maxItems": 8,
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "PageResult": {
+ "description": "Extracted information from a single page.",
+ "type": "object",
+ "required": [
+ "page"
+ ],
+ "properties": {
+ "page": {
+ "description": "Page number.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "clusterId": {
+ "description": "Cluster identifier.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "keyValuePairs": {
+ "description": "List of key-value pairs extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ }
+ },
+ "tables": {
+ "description": "List of data tables extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTable"
+ }
+ }
+ }
+ },
+ "KeyValuePair": {
+ "description": "Information about the extracted key-value pair.",
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "confidence"
+ ],
+ "properties": {
+ "label": {
+ "description": "A user defined label for the key/value pair entry.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Information about the extracted key in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "value": {
+ "description": "Information about the extracted value in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "KeyValueElement": {
+ "description": "Information about the extracted key or value in a key-value pair.",
+ "type": "object",
+ "required": [
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the key or value.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the key or value.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ }
+ }
+ },
+ "ElementReference": {
+ "description": "Reference to a line or word.",
+ "type": "string"
+ },
+ "DataTable": {
+ "description": "Information about the extracted table contained in a page.",
+ "type": "object",
+ "required": [
+ "rows",
+ "columns",
+ "cells"
+ ],
+ "properties": {
+ "rows": {
+ "description": "Number of rows.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "columns": {
+ "description": "Number of columns.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "cells": {
+ "description": "List of cells contained in the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTableCell"
+ }
+ }
+ }
+ },
+ "DataTableCell": {
+ "description": "Information about the extracted cell in a table.",
+ "type": "object",
+ "required": [
+ "rowIndex",
+ "columnIndex",
+ "text",
+ "boundingBox",
+ "confidence"
+ ],
+ "properties": {
+ "rowIndex": {
+ "description": "Row index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "columnIndex": {
+ "description": "Column index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "rowSpan": {
+ "description": "Number of rows spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "columnSpan": {
+ "description": "Number of columns spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the cell.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the cell.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "isHeader": {
+ "description": "Is the current cell a header cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ },
+ "isFooter": {
+ "description": "Is the current cell a footer cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "DocumentResult": {
+ "description": "A set of extracted fields corresponding to the input document.",
+ "required": [
+ "docType",
+ "pageRange",
+ "fields"
+ ],
+ "properties": {
+ "docType": {
+ "description": "Document type.",
+ "type": "string"
+ },
+ "pageRange": {
+ "description": "First and last page number where the document is found.",
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ },
+ "fields": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ }
+ }
+ },
+ "FieldValue": {
+ "description": "Recognized field value.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of field value.",
+ "$ref": "#/definitions/FieldValueType"
+ },
+ "valueString": {
+ "description": "String value.",
+ "type": "string"
+ },
+ "valueDate": {
+ "description": "Date value.",
+ "type": "string",
+ "format": "date-time",
+ "x-nullable": false
+ },
+ "valueTime": {
+ "description": "Time value.",
+ "type": "string",
+ "format": "date-time",
+ "x-nullable": false
+ },
+ "valuePhoneNumber": {
+ "description": "Phone number value.",
+ "type": "string"
+ },
+ "valueNumber": {
+ "description": "Floating point value.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "valueInteger": {
+ "description": "Integer value.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "valueArray": {
+ "description": "Array of field values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueObject": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "text": {
+ "description": "Text content of the extracted field.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the field value, if appropriate.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence score.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ }
+ },
+ "FieldValueType": {
+ "type": "string",
+ "description": "Semantic data type of the field value.",
+ "enum": [
+ "string",
+ "date",
+ "time",
+ "phoneNumber",
+ "number",
+ "integer",
+ "array",
+ "object"
+ ],
+ "x-ms-enum": {
+ "name": "FieldValueType",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "Confidence": {
+ "description": "Confidence value.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1,
+ "x-nullable": false
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "FileStream": {
+ "name": "fileStream",
+ "description": ".json, .pdf, .jpg, .png or .tiff type file stream.",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SourceDataStream"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..82886aff5613
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0-preview/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..ac3e01056b61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/AnalyzeOperationResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/DeleteModel.json
new file mode 100644
index 000000000000..8033b6772479
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/DeleteModel.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModel.json
new file mode 100644
index 000000000000..3a34fea1ae13
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModel.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{Model Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelInfo": {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ },
+ "keys": {
+ "clusters": {
+ "0": [
+ "Invoice",
+ "123112313"
+ ],
+ "1": [
+ "Please remit payment to:",
+ "Microsoft"
+ ]
+ }
+ },
+ "trainResult": {
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModels.json
new file mode 100644
index 000000000000..1ebb45e86268
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/GetModels.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "full",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 5,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ },
+ "modelList": [
+ {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ },
+ {
+ "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatch.json
new file mode 100644
index 000000000000..653d97348f96
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0-preview/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..099b8a2df49a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/LayoutBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..9b5b2ba0f8dd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatch.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.0-preview/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..ac3e01056b61
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/ReceiptsBatchResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{model Id}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.0",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatch.json
new file mode 100644
index 000000000000..e46593143196
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.0-preview/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..d802556456f5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/examples/TrainBatchWithSubFolders.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1",
+ "sourceFilter": {
+ "prefix": "",
+ "includeSubFolders": false
+ },
+ "useLabelFile": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.0-preview/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
index 1ecb8d09f9fa..969d24a80c96 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
@@ -4,7 +4,14 @@
Configuration for generating Form Recognizer SDK.
-The current release is `release_1_0`.
+The current release is `release_2_0`.
+
+``` yaml
+
+tag: release_2_0
+add-credentials: true
+openapi-type: data-plane
+```
``` yaml
@@ -14,6 +21,14 @@ openapi-type: data-plane
```
# Releases
+### Release 2.0
+These settings apply only when `--tag=release_2_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_2_0'
+input-file:
+ - preview/v2.0/FormRecognizer.json
+```
+
### Release 1.0
These settings apply only when `--tag=release_1_0` is specified on the command line.
@@ -86,6 +101,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/preview/v2.0/FormRecognizer.json
- $(this-folder)/preview/v1.0/FormRecognizer.json
- $(this-folder)/preview/v1.0/FormRecognizerReceipt.json
- $(this-folder)/preview/v1.0/FormRecognizerReceiptOcr.json
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..3e3f69a10681
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
@@ -0,0 +1,10443 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "LUIS Authoring Client",
+ "version": "3.0-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/luis/authoring/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}/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}/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}/intents/{intentId}/features": {
+ "post": {
+ "description": "Adds a new feature relation to be used by the intent in a version of the application.",
+ "operationId": "Features_AddIntentFeature",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "name": "featureRelationCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelFeatureInformation"
+ },
+ "description": "A Feature relation 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 Add Feature Relation request": {
+ "$ref": "./examples/model/SuccessfulAddIntentFeatureRelationRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets the information of the features used by the intent in a version of the application.",
+ "operationId": "Model_GetIntentFeatures",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of feature information objects for the intent.",
+ "schema": {
+ "$ref": "#/definitions/FeaturesPerModelResponseObject"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Features information request": {
+ "$ref": "./examples/model/SuccessfulGetIntentFeaturesInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the information of the features used by the intent in a version of the application.",
+ "operationId": "Model_ReplaceIntentFeatures",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "name": "featureRelationsUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeaturesPerModelResponseObject"
+ },
+ "description": "A list of feature information objects containing the new feature relations."
+ }
+ ],
+ "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 Replace Features request": {
+ "$ref": "./examples/model/SuccessfulReplaceIntentFeaturesRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a relation from the feature relations used by the intent in a version of the application.",
+ "operationId": "Model_DeleteIntentFeature",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/IntentIdInPath"
+ },
+ {
+ "name": "featureRelationDeleteObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelFeatureInformation"
+ },
+ "description": "A feature information object containing the feature relation to delete."
+ }
+ ],
+ "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 feature relation request": {
+ "$ref": "./examples/model/SuccessfulDeleteIntentFeatureRelationRequest.json"
+ }
+ }
+ }
+ },
+ "/apps/{appId}/versions/{versionId}/entities/{entityId}/features": {
+ "post": {
+ "description": "Adds a new feature relation to be used by the entity in a version of the application.",
+ "operationId": "Features_AddEntityFeature",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/EntityIdInPath"
+ },
+ {
+ "name": "featureRelationCreateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelFeatureInformation"
+ },
+ "description": "A Feature relation 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 Add Feature Relation request": {
+ "$ref": "./examples/model/SuccessfulAddEntityFeatureRelationRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets the information of the features used by the entity in a version of the application.",
+ "operationId": "Model_GetEntityFeatures",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/EntityIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of feature information objects for the entity.",
+ "schema": {
+ "$ref": "#/definitions/FeaturesPerModelResponseObject"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get Features information request": {
+ "$ref": "./examples/model/SuccessfulGetEntityFeaturesInfoRequest.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Updates the information of the features used by the entity in a version of the application.",
+ "operationId": "Model_ReplaceEntityFeatures",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/EntityIdInPath"
+ },
+ {
+ "name": "featureRelationsUpdateObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeaturesPerModelResponseObject"
+ },
+ "description": "A list of feature information objects containing the new feature relations."
+ }
+ ],
+ "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 Replace Features request": {
+ "$ref": "./examples/model/SuccessfulReplaceEntityFeaturesRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a relation from the feature relations used by the entity in a version of the application.",
+ "operationId": "Model_DeleteEntityFeature",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ },
+ {
+ "$ref": "#/parameters/EntityIdInPath"
+ },
+ {
+ "name": "featureRelationDeleteObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModelFeatureInformation"
+ },
+ "description": "A feature information object containing the feature relation to delete."
+ }
+ ],
+ "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 feature relation request": {
+ "$ref": "./examples/model/SuccessfulDeleteEntityFeatureRelationRequest.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"
+ },
+ "enabledForAllModels": {
+ "description": "Indicates if the Phraselist is enabled for all models in the application.",
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "enabledForAllModels": {
+ "description": "Indicates if the Phraselist is enabled for all models in the application.",
+ "default": 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"
+ }
+ }
+ },
+ "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"
+ },
+ "enabledForAllModels": {
+ "description": "Indicates if the Phraselist is enabled for all models in the application.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "PrebuiltDomainObject": {
+ "type": "object",
+ "properties": {
+ "domain_name": {
+ "type": "string"
+ },
+ "model_name": {
+ "type": "string"
+ }
+ }
+ },
+ "JsonChild": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "instanceOf": {
+ "type": "string"
+ },
+ "children": {
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JsonChild"
+ },
+ "type": "array"
+ },
+ "features": {
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JsonModelFeatureInformation"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "HierarchicalModel": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "children": {
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JsonChild"
+ },
+ "type": "array"
+ },
+ "features": {
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JsonModelFeatureInformation"
+ },
+ "type": "array"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "inherits": {
+ "type": "object",
+ "$ref": "#/definitions/PrebuiltDomainObject"
+ }
+ }
+ },
+ "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"
+ },
+ "hierarchicals": {
+ "description": "List of hierarchical 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"
+ },
+ "phraselists": {
+ "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"
+ },
+ "enabledForAllModels": {
+ "description": "Indicates if the feature is enabled for all models in the application.",
+ "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."
+ }
+ }
+ },
+ "FeaturesPerModelResponseObject": {
+ "description": "A list of feature information objects per model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelFeatureInformation"
+ }
+ },
+ "ModelFeatureInformation": {
+ "description": "An object containing the model feature information either the model name or feature name.",
+ "type": "object",
+ "properties": {
+ "modelName": {
+ "type": "string",
+ "description": "The name of the model used."
+ },
+ "featureName": {
+ "type": "string",
+ "description": "The name of the feature used."
+ }
+ }
+ },
+ "JsonModelFeatureInformation": {
+ "description": "An object containing the model feature information either the model name or feature name.",
+ "type": "object",
+ "properties": {
+ "modelName": {
+ "type": "string",
+ "description": "The name of the model used."
+ },
+ "featureName": {
+ "type": "string",
+ "description": "The name of the feature used."
+ }
+ }
+ },
+ "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"
+ },
+ "EntityIdInPath": {
+ "name": "entityId",
+ "in": "path",
+ "description": "The entity extractor 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/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/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..3a70755fff0f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionFeaturesRequest.json
@@ -0,0 +1,44 @@
+{
+ "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,
+ "enabledForAllModels": true
+ },
+ {
+ "id": 74598,
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true,
+ "isActive": true,
+ "enabledForAllModels": true
+ }
+ ],
+ "patternFeatures": [
+ {
+ "id": 81231,
+ "name": "EmailPattern",
+ "pattern": "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b",
+ "isActive": true,
+ "enabledForAllModels": 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..3a6f5e4b33e9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetApplicationVersionPhraselistFeaturesRequest.json
@@ -0,0 +1,31 @@
+{
+ "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,
+ "enabledForAllModels": true
+ },
+ {
+ "id": 97832,
+ "name": "DaysOfWeek",
+ "phrases": "monday,tuesday,wednesday,thursday,friday,saturday,sunday",
+ "isExchangeable": true,
+ "isActive": true,
+ "enabledForAllModels": 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..52649ceb5c3d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulGetPhraselistFeatureInfoRequest.json
@@ -0,0 +1,22 @@
+{
+ "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,
+ "enabledForAllModels": true
+ }
+ }
+ }
+}
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..9faceb14a074
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/features/SuccessfulUpdatePhraselistFeatureInfoRequest.json
@@ -0,0 +1,25 @@
+{
+ "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,
+ "enabledForAllModels": false
+ }
+ },
+ "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/SuccessfulAddEntityFeatureRelationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddEntityFeatureRelationRequest.json
new file mode 100644
index 000000000000..57e58c5c4f0c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddEntityFeatureRelationRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f",
+ "featureRelationCreateObject": {
+ "featureName": "Phraselist1"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddIntentFeatureRelationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddIntentFeatureRelationRequest.json
new file mode 100644
index 000000000000..2d7ee0655191
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulAddIntentFeatureRelationRequest.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",
+ "featureRelationCreateObject": {
+ "featureName": "Phraselist1"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
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/SuccessfulDeleteEntityFeatureRelationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityFeatureRelationRequest.json
new file mode 100644
index 000000000000..77bcdbd7c486
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteEntityFeatureRelationRequest.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f",
+ "featureRelationDeleteObject": {
+ "featureName": "Phraselist1"
+ }
+ },
+ "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/SuccessfulDeleteIntentFeatureRelationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteIntentFeatureRelationRequest.json
new file mode 100644
index 000000000000..90d8a50f666a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulDeleteIntentFeatureRelationRequest.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",
+ "featureRelationDeleteObject": {
+ "featureName": "Phraselist1"
+ }
+ },
+ "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/SuccessfulGetEntityFeaturesInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityFeaturesInfoRequest.json
new file mode 100644
index 000000000000..6bc5840cc97f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntityFeaturesInfoRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "featureName": "Phraselist1"
+ },
+ {
+ "modelName": "None"
+ }
+ ]
+ }
+ }
+}
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/SuccessfulGetIntentFeaturesInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentFeaturesInfoRequest.json
new file mode 100644
index 000000000000..8836884506bf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentFeaturesInfoRequest.json
@@ -0,0 +1,22 @@
+{
+ "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": [
+ {
+ "featureName": "Phraselist1"
+ },
+ {
+ "modelName": "None"
+ }
+ ]
+ }
+ }
+}
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/SuccessfulReplaceEntityFeaturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulReplaceEntityFeaturesRequest.json
new file mode 100644
index 000000000000..816fd7bb83d8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulReplaceEntityFeaturesRequest.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "entityId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f",
+ "featureRelationsUpdateObject": [
+ {
+ "featureName": "Phraselist1"
+ },
+ {
+ "modelName": "None"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulReplaceIntentFeaturesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulReplaceIntentFeaturesRequest.json
new file mode 100644
index 000000000000..64834fe5bd24
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulReplaceIntentFeaturesRequest.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
+ "versionId": "0.1",
+ "intentId": "d7a08f1a-d276-4364-b2d5-b0235c61e37f",
+ "featureRelationsUpdateObject": [
+ {
+ "featureName": "Phraselist1"
+ },
+ {
+ "modelName": "None"
+ }
+ ]
+ },
+ "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/LUIS/Runtime/readme.go.md b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
index 328ac1b1405d..01f58b6c88ce 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
@@ -14,7 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: runtime_2_0
- - tag: runtime_3_0_preview
+ - tag: runtime_3_0
```
### Tag: runtime_2_0 and go
@@ -26,11 +26,11 @@ Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'runtime_3_0_preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.0/luis/$(namespace)
+``` yaml $(tag) == 'runtime_3_0' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.0/luis/$(namespace)
```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
index f3cfc53a6e6e..1c82a16cb50d 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
@@ -5,12 +5,12 @@
Configuration for generating LUIS Runtime SDK.
``` yaml
-tag: runtime_3_0_preview
+tag: runtime_3_0
add-credentials: true
openapi-type: data-plane
```
-The current release for the Runtime Endpoint is `runtime_3_0_preview`.
+The current release for the Runtime Endpoint is `runtime_3_0`.
# Releases
@@ -25,11 +25,11 @@ directive:
remove-operation: Prediction_Resolve2
```
-## Runtime 3.0-preview
-These settings apply only when `--tag=runtime_3_0_preview` is specified on the command line.
+## Runtime 3.0
+These settings apply only when `--tag=runtime_3_0` is specified on the command line.
-``` yaml $(tag) == 'runtime_3_0_preview'
-input-file: preview/v3.0/LUIS-Runtime.json
+``` yaml $(tag) == 'runtime_3_0'
+input-file: stable/v3.0/LUIS-Runtime.json
# remove the GET APIs from code-generation (since the POST and GET operations are functionally identical)
directive:
@@ -110,7 +110,7 @@ require: $(this-folder)/../../../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/stable/v2.0/LUIS-Runtime.json
- - $(this-folder)/preview/v3.0/LUIS-Runtime.json
+ - $(this-folder)/stable/v3.0/LUIS-Runtime.json
```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/LUIS-Runtime.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/LUIS-Runtime.json
similarity index 97%
rename from specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/LUIS-Runtime.json
rename to specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/LUIS-Runtime.json
index 3de6b0d061a2..10ba25f03073 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/LUIS-Runtime.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/LUIS-Runtime.json
@@ -2,10 +2,10 @@
"swagger": "2.0",
"info": {
"title": "LUIS Runtime Client",
- "version": "3.0-preview"
+ "version": "3.0"
},
"x-ms-parameterized-host": {
- "hostTemplate": "{Endpoint}/luis/v3.0-preview",
+ "hostTemplate": "{Endpoint}/luis/prediction/v3.0",
"useSchemePrefix": false,
"parameters": [
{
@@ -335,17 +335,12 @@
"Prediction": {
"description": "Represents the prediction of a query.",
"required": [
- "normalizedQuery",
"topIntent",
"intents",
"entities"
],
"type": "object",
"properties": {
- "normalizedQuery": {
- "description": "The query after pre-processing and normalization.",
- "type": "string"
- },
"alteredQuery": {
"description": "The query after spell checking. Only set if spell check was enabled and a spelling mistake was found.",
"type": "string"
@@ -362,7 +357,7 @@
}
},
"entities": {
- "description": "The dictionary representing the entities that fired.",
+ "description": "A dictionary representing the entities that fired.",
"type": "object",
"additionalProperties": {}
},
@@ -475,7 +470,7 @@
"description": "The reference DateTime used for predicting datetime entities.",
"type": "string"
},
- "overridePredictions": {
+ "preferExternalEntities": {
"description": "Whether to make the external entities resolution override the predictions if an overlap occurs.",
"type": "boolean"
}
@@ -506,6 +501,11 @@
},
"resolution": {
"description": "A user supplied custom resolution to return as the entity's prediction."
+ },
+ "score": {
+ "format": "float",
+ "description": "A user supplied score to return as the entity's prediction score.",
+ "type": "number"
}
}
},
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json
similarity index 89%
rename from specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json
rename to specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json
index a52047479c17..9826c6cc9b5a 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaGetRequest.json
@@ -12,7 +12,6 @@
"body": {
"query": "forward to frank 30 dollars through HSBC",
"prediction": {
- "normalizedQuery": "forward to frank 30 dollars through hsbc",
"topIntent": "give",
"intents": {
"give": {
@@ -28,7 +27,7 @@
],
"money": [
{
- "unit": "Dollar",
+ "units": "Dollar",
"value": 30
}
],
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json
similarity index 93%
rename from specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json
rename to specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json
index cc69253c04a0..0aade5e0b135 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetSlotPredictionsFromEndpointViaPostRequest.json
@@ -39,7 +39,6 @@
"body": {
"query": "forward to frank 30 dollars through HSBC",
"prediction": {
- "normalizedQuery": "forward to frank 30 dollars through hsbc",
"topIntent": "give",
"intents": {
"give": {
@@ -57,7 +56,7 @@
],
"money": [
{
- "unit": "Dollar",
+ "units": "Dollar",
"value": 30
}
],
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json
similarity index 90%
rename from specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json
rename to specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json
index 6cb97372c318..8da65ab5ab25 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaGetRequest.json
@@ -12,7 +12,6 @@
"body": {
"query": "forward to frank 30 dollars through HSBC",
"prediction": {
- "normalizedQuery": "forward to frank 30 dollars through hsbc",
"topIntent": "give",
"intents": {
"give": {
@@ -30,7 +29,7 @@
],
"money": [
{
- "unit": "Dollar",
+ "units": "Dollar",
"value": 30
}
],
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json
similarity index 93%
rename from specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json
rename to specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json
index 3ffa8f619d8c..dc61581182d4 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/preview/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v3.0/examples/prediction/SuccessfulGetVersionPredictionsFromEndpointViaPostRequest.json
@@ -39,7 +39,6 @@
"body": {
"query": "forward to frank 30 dollars through HSBC",
"prediction": {
- "normalizedQuery": "forward to frank 30 dollars through hsbc",
"topIntent": "give",
"intents": {
"give": {
@@ -57,7 +56,7 @@
],
"money": [
{
- "unit": "Dollar",
+ "units": "Dollar",
"value": 30
}
],
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.0/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.0/Personalizer.json
index 5850d1809521..ea99baedc0b5 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.0/Personalizer.json
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.0/Personalizer.json
@@ -277,7 +277,7 @@
}
},
"RankableAction": {
- "description": "An action with it\u0027s associated features used for ranking.",
+ "description": "An action with it's associated features used for ranking.",
"required": [
"id",
"features"
@@ -317,7 +317,7 @@
"readOnly": true
},
"rewardActionId": {
- "description": "The action chosen by the Personalizer service. This is the action for which to report the reward. This might not be the \r\nfirst found in \u0027ranking\u0027 if an action in the request in first position was part of the excluded ids.",
+ "description": "The action chosen by the Personalizer service. This is the action for which to report the reward. This might not be the \r\nfirst found in 'ranking' if an action in the request in first position was part of the excluded ids.",
"maxLength": 256,
"type": "string",
"readOnly": true
diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.md b/specification/cognitiveservices/data-plane/Personalizer/readme.md
index c779dc0463e0..888fcc5d55a7 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.md
@@ -1,22 +1,29 @@
# Cognitive Services Personalizer SDK
-> see https://aka.ms/autorest
+## Releases
-Configuration for generating Personalizer SDK.
+> see https://aka.ms/autorest
-The current release is `release_1_0`.
+The current release is `release_1_0`. A preview release release_1_0 is also available
``` yaml
tag: release_1_0
add-credentials: true
openapi-type: data-plane
```
-# Releases
### Release 1.0
These settings apply only when `--tag=release_1_0` is specified on the command line.
``` yaml $(tag) == 'release_1_0'
+input-file:
+ - stable/v1.0/Personalizer.json
+```
+
+### Release 1.0-Preview
+These settings apply only when `--tag=release_1_0_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0_preview'
input-file:
- preview/v1.0/Personalizer.json
```
@@ -29,7 +36,6 @@ 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
@@ -37,7 +43,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_personalizer']
```
-
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -54,11 +59,9 @@ directive:
- from: source-file-csharp
where: $
transform: >-
- if ($.includes("class Events"))
- return $
- .replace( /\"this.Endpoint\"/g, "\"this.Client.Endpoint\"" )
- .replace( /this.Endpoint/g, "Client.Endpoint" );
- return $;
+ return $
+ .replace( /\"this.Endpoint\"/g, "\"this.Client.Endpoint\"" )
+ .replace( /this.Endpoint/g, "Client.Endpoint" );
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -73,6 +76,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/stable/v1.0/Personalizer.json
- $(this-folder)/preview/v1.0/Personalizer.json
```
@@ -84,4 +88,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json
new file mode 100644
index 000000000000..e89aa576ea0a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json
@@ -0,0 +1,1257 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v1.0",
+ "title": "Personalizer Client",
+ "description": "Personalizer Service is an Azure Cognitive Service that makes it easy to target content and experiences without complex pre-analysis or cleanup of past data. Given a context and featurized content, the Personalizer Service returns which content item to show to users in rewardActionId. As rewards are sent in response to the use of rewardActionId, the reinforcement learning algorithm will improve the model and improve performance of future rank calls."
+ },
+ "basePath": "/personalizer/v1.0",
+ "paths": {
+ "/configurations/service": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Get Service Configuration.",
+ "description": "Get the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Get request": {
+ "$ref": "./examples/ServiceConfiguration_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Update Service Configuration.",
+ "description": "Update the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "config",
+ "in": "body",
+ "description": "The personalizer service configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Invalid service configuration.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Update request": {
+ "$ref": "./examples/ServiceConfiguration_Update.json"
+ }
+ }
+ }
+ },
+ "/configurations/policy": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Get Policy.",
+ "description": "Get the Learning settings currently used by the Personalizer service.",
+ "operationId": "Policy_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Get request": {
+ "$ref": "./examples/Policy_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Update Policy.",
+ "description": "Update the Learning settings that the Personalizer service will use to train models.",
+ "operationId": "Policy_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "policy",
+ "in": "body",
+ "description": "The Learning settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Invalid policy configuration.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Update request": {
+ "$ref": "./examples/Policy_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Reset Policy.",
+ "description": "Resets the Learning settings of the Personalizer service to default.",
+ "operationId": "Policy_Reset",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Reset request": {
+ "$ref": "./examples/Policy_Reset.json"
+ }
+ }
+ }
+ },
+ "/evaluations/{evaluationId}": {
+ "get": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Get Evaluation.",
+ "description": "Get the evaluation associated with the Id.",
+ "operationId": "Evaluations_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "evaluationId",
+ "in": "path",
+ "description": "Id of the evaluation.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ },
+ "default": {
+ "description": "Evaluation not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Get request": {
+ "$ref": "./examples/Evaluations_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Delete Evaluation.",
+ "description": "Delete the evaluation associated with the Id.",
+ "operationId": "Evaluations_Delete",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "evaluationId",
+ "in": "path",
+ "description": "Id of the evaluation to delete.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Delete request": {
+ "$ref": "./examples/Evaluations_Delete.json"
+ }
+ }
+ }
+ },
+ "/evaluations": {
+ "get": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "List Evaluations.",
+ "description": "List all the submitted evaluations.",
+ "operationId": "Evaluations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_List request": {
+ "$ref": "./examples/Evaluations_List.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Create Evaluation.",
+ "description": "Submit a new evaluation job.",
+ "operationId": "Evaluations_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "evaluation",
+ "in": "body",
+ "description": "The evaluation job definition.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EvaluationContract"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ },
+ "headers": {
+ "Location": {
+ "description": "Location of the evaluation resource",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Invalid evaluation contract.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Create request": {
+ "$ref": "./examples/Evaluations_Create.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/reward": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Post Reward.",
+ "description": "Report reward that resulted from using the action specified in rewardActionId for the specified event.",
+ "operationId": "Events_Reward",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "eventId",
+ "in": "path",
+ "description": "The event id this reward applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "name": "reward",
+ "in": "body",
+ "description": "The reward should be a floating point number, typically between 0 and 1.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RewardRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid reward request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Reward request": {
+ "$ref": "./examples/Events_Reward.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/activate": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Activate Event.",
+ "description": "Report that the specified event was actually displayed to the user and a reward should be expected for it",
+ "operationId": "Events_Activate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "eventId",
+ "in": "path",
+ "description": "The event ID this activation applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid activate event request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Activate request": {
+ "$ref": "./examples/Events_Activate.json"
+ }
+ }
+ }
+ },
+ "/logs": {
+ "delete": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Deletes Logs.",
+ "description": "Delete all generated logs.",
+ "operationId": "Log_Delete",
+ "consumes": [],
+ "produces": [],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_Delete request": {
+ "$ref": "./examples/Log_Delete.json"
+ }
+ }
+ }
+ },
+ "/logs/properties": {
+ "get": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Get Log Properties.",
+ "description": "Get properties of generated logs.",
+ "operationId": "Log_GetProperties",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogsProperties"
+ }
+ },
+ "default": {
+ "description": "Logs properties not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_GetProperties request": {
+ "$ref": "./examples/Log_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/model": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model.",
+ "description": "Get the model file generated by Personalizer service.",
+ "operationId": "Model_Get",
+ "consumes": [],
+ "produces": [
+ "application/octet-stream"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "file"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Get request": {
+ "$ref": "./examples/Model_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Reset Model.",
+ "description": "Resets the model file generated by Personalizer service.",
+ "operationId": "Model_Reset",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Model reset failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Reset request": {
+ "$ref": "./examples/Model_Reset.json"
+ }
+ }
+ }
+ },
+ "/model/properties": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model Properties.",
+ "description": "Get properties of the model file generated by Personalizer service.",
+ "operationId": "Model_GetProperties",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ModelProperties"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_GetProperties request": {
+ "$ref": "./examples/Model_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/rank": {
+ "post": {
+ "tags": [
+ "Rank"
+ ],
+ "summary": "Post Rank.",
+ "description": "Submit a Personalizer rank request, to get which of the provided actions should be used in the provided context.",
+ "operationId": "Rank",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "rankRequest",
+ "in": "body",
+ "description": "A Personalizer request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RankRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/RankResponse"
+ }
+ },
+ "default": {
+ "description": "Invalid rank request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Rank request": {
+ "$ref": "./examples/Rank.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceConfiguration": {
+ "description": "The configuration of the service.",
+ "required": [
+ "rewardWaitTime",
+ "defaultReward",
+ "rewardAggregation",
+ "explorationPercentage",
+ "modelExportFrequency",
+ "logRetentionDays"
+ ],
+ "type": "object",
+ "properties": {
+ "rewardWaitTime": {
+ "format": "duration",
+ "description": "The time span waited until a request is marked with the default reward.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "defaultReward": {
+ "format": "float",
+ "description": "The reward given if a reward is not received within the specified wait time.",
+ "maximum": 1,
+ "minimum": -1,
+ "type": "number"
+ },
+ "rewardAggregation": {
+ "description": "The function used to process rewards, if multiple reward scores are received before rewardWaitTime is over.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "explorationPercentage": {
+ "format": "float",
+ "description": "The percentage of rank responses that will use exploration.",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "modelExportFrequency": {
+ "format": "duration",
+ "description": "Personalizer will start using the most updated trained model for online ranks automatically every specified time period.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "logMirrorEnabled": {
+ "description": "Flag indicates whether log mirroring is enabled.",
+ "type": "boolean"
+ },
+ "logMirrorSasUri": {
+ "description": "Azure storage account container SAS URI for log mirroring.",
+ "type": "string"
+ },
+ "logRetentionDays": {
+ "format": "int32",
+ "description": "Number of days historical logs are to be maintained. -1 implies the logs will never be deleted.",
+ "maximum": 2147483647,
+ "minimum": -1,
+ "type": "integer"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Used to return an error to the client",
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/PersonalizerError",
+ "description": "The error object."
+ }
+ }
+ },
+ "PersonalizerError": {
+ "description": "The error object.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "High level error code.",
+ "enum": [
+ "BadRequest",
+ "ResourceNotFound",
+ "InternalServerError",
+ "InvalidServiceConfiguration",
+ "InvalidPolicyConfiguration",
+ "InvalidPolicyContract",
+ "InvalidEvaluationContract",
+ "InvalidRewardRequest",
+ "InvalidEventIdToActivate",
+ "InvalidRankRequest",
+ "InvalidExportLogsRequest",
+ "InvalidContainer",
+ "FrontEndNotFound",
+ "EvaluationNotFound",
+ "LogsPropertiesNotFound",
+ "RankNullResponse",
+ "UpdateConfigurationFailed",
+ "ModelResetFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersonalizerErrorCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "BadRequest",
+ "description": "Request could not be understood by the server."
+ },
+ {
+ "value": "ResourceNotFound",
+ "description": "Requested resource does not exist on the server."
+ },
+ {
+ "value": "InternalServerError",
+ "description": "A generic error has occurred on the server."
+ },
+ {
+ "value": "InvalidServiceConfiguration",
+ "description": "Invalid service configuration."
+ },
+ {
+ "value": "InvalidPolicyConfiguration",
+ "description": "Invalid policy configuration."
+ },
+ {
+ "value": "InvalidPolicyContract",
+ "description": "Invalid policy contract."
+ },
+ {
+ "value": "InvalidEvaluationContract",
+ "description": "Invalid evaluation contract."
+ },
+ {
+ "value": "InvalidRewardRequest",
+ "description": "Invalid reward request."
+ },
+ {
+ "value": "InvalidEventIdToActivate",
+ "description": "Invalid activate event request."
+ },
+ {
+ "value": "InvalidRankRequest",
+ "description": "Invalid rank request."
+ },
+ {
+ "value": "InvalidExportLogsRequest",
+ "description": "Invalid export logs request."
+ },
+ {
+ "value": "InvalidContainer",
+ "description": "SAS Uri must be the Uri to a container that has write permissions."
+ },
+ {
+ "value": "FrontEndNotFound",
+ "description": "Front end not found."
+ },
+ {
+ "value": "EvaluationNotFound",
+ "description": "Evaluation not found."
+ },
+ {
+ "value": "LogsPropertiesNotFound",
+ "description": "Logs properties not found."
+ },
+ {
+ "value": "RankNullResponse",
+ "description": "Rank call returned null response."
+ },
+ {
+ "value": "UpdateConfigurationFailed",
+ "description": "Failed to update configuration."
+ },
+ {
+ "value": "ModelResetFailed",
+ "description": "Model reset failed."
+ }
+ ]
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Error source element.",
+ "type": "string"
+ },
+ "details": {
+ "description": "An array of details about specific errors that led to this reported error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PersonalizerError"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InternalError",
+ "description": "Finer error details."
+ }
+ }
+ },
+ "InternalError": {
+ "description": "An object containing more specific information than the parent object about the error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Detailed error code.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InternalError",
+ "description": "The error object."
+ }
+ }
+ },
+ "PolicyContract": {
+ "description": "Learning settings specifying how to train the model.",
+ "required": [
+ "name",
+ "arguments"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Learning settings.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "arguments": {
+ "description": "Arguments of the Learning settings.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "Evaluation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "enum": [
+ "completed",
+ "pending",
+ "failed",
+ "notSubmitted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EvaluationJobStatus",
+ "modelAsString": true
+ }
+ },
+ "policyResults": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResult"
+ }
+ },
+ "featureImportance": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PolicyResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true
+ },
+ "arguments": {
+ "type": "string",
+ "readOnly": true
+ },
+ "summary": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResultSummary"
+ },
+ "readOnly": true
+ },
+ "totalSummary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyResultSummary"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyResultSummary": {
+ "type": "object",
+ "properties": {
+ "timeStamp": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipsEstimatorNumerator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "ipsEstimatorDenominator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "snipsEstimatorDenominator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "aggregateTimeWindow": {
+ "format": "duration",
+ "type": "string",
+ "readOnly": true
+ },
+ "nonZeroProbability": {
+ "format": "float",
+ "type": "number"
+ },
+ "confidenceInterval": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "sumOfSquares": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "EvaluationContract": {
+ "description": "A counterfactual evaluation.",
+ "required": [
+ "name",
+ "startTime",
+ "endTime",
+ "policies"
+ ],
+ "type": "object",
+ "properties": {
+ "enableOfflineExperimentation": {
+ "description": "True if the evaluation should explore for a more optimal Learning settings.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The name of the evaluation.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the evaluation.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the evaluation.",
+ "type": "string"
+ },
+ "policies": {
+ "description": "Additional Learning settings to evaluate.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ }
+ },
+ "RewardRequest": {
+ "description": "Reward given to a rank response.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "format": "float",
+ "description": "Reward to be assigned to an action. Value should be between -1 and 1 inclusive.",
+ "type": "number"
+ }
+ }
+ },
+ "LogsProperties": {
+ "type": "object",
+ "properties": {
+ "dateRange": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DateRange"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "DateRange": {
+ "type": "object",
+ "properties": {
+ "from": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "to": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModelProperties": {
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RankRequest": {
+ "description": "Request a set of actions to be ranked by the Personalizer service.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "contextFeatures": {
+ "description": "Features of the context used for Personalizer as a\r\ndictionary of dictionaries. This depends on the application, and\r\ntypically includes features about the current user, their\r\ndevice, profile information, aggregated data about time and date, etc.\r\nFeatures should not include personally identifiable information (PII),\r\nunique UserIDs, or precise timestamps.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "The set of actions the Personalizer service can pick from.\r\nThe set should not contain more than 50 actions.\r\nThe order of the actions does not affect the rank result but the order\r\nshould match the sequence your application would have used to display them.\r\nThe first item in the array will be used as Baseline item in Offline evaluations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankableAction"
+ }
+ },
+ "excludedActions": {
+ "description": "The set of action ids to exclude from ranking.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "eventId": {
+ "description": "Optionally pass an eventId that uniquely identifies this Rank event.\r\nIf null, the service generates a unique eventId. The eventId will be used for\r\nassociating this request with its reward, as well as seeding the pseudo-random\r\ngenerator when making a Personalizer call.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "deferActivation": {
+ "description": "Send false if it is certain the rewardActionId in rank results will be shown to the user, therefore\r\nPersonalizer will expect a Reward call, otherwise it will assign the default\r\nReward to the event. Send true if it is possible the user will not see the\r\naction specified in the rank results, because the page is rendering later, or the Rank results may be\r\noverridden by code further downstream.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "RankableAction": {
+ "description": "An action with it's associated features used for ranking.",
+ "required": [
+ "id",
+ "features"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "features": {
+ "description": "List of dictionaries containing features.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "RankResponse": {
+ "description": "Returns which action to use as rewardActionId, and additional information about each action as a result of a Rank request.",
+ "type": "object",
+ "properties": {
+ "ranking": {
+ "description": "The calculated ranking for the current request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankedAction"
+ },
+ "readOnly": true
+ },
+ "eventId": {
+ "description": "The eventId for the round trip from request to response.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "rewardActionId": {
+ "description": "The action chosen by the Personalizer service. This is the action your application should display, and for which to report the reward. This might not be the\r\nfirst found in 'ranking' if an action in the request in first position was part of the excluded ids.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RankedAction": {
+ "description": "A ranked action with its resulting probability.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "probability": {
+ "format": "float",
+ "description": "Probability of the action",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerStatus": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "string"
+ },
+ "apiStatus": {
+ "type": "string"
+ },
+ "apiStatusMessage": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoint.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header",
+ "type": "apiKey"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "tags": [
+ {
+ "name": "Configurations",
+ "description": "Manages configuration operations."
+ },
+ {
+ "name": "Evaluations",
+ "description": "Manages counterfactual evaluation operations."
+ },
+ {
+ "name": "Events",
+ "description": "Manages event operations."
+ },
+ {
+ "name": "Logs",
+ "description": "Manages reinforcement learning logs."
+ },
+ {
+ "name": "Model",
+ "description": "Manages reinforcement learning configuration operations."
+ },
+ {
+ "name": "Rank",
+ "description": "Manages ranking operations."
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json
new file mode 100644
index 000000000000..8e392dfae1cd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluation": {
+ "enableOfflineExperimentation": true,
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "policies": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ]
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/personalizer/v1.0/evaluations/{evaluationId}"
+ },
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ],
+ "featureImportance": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json
new file mode 100644
index 000000000000..682e8a6a8084
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluationId": "id",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json
new file mode 100644
index 000000000000..aec174af7856
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluationId": "id",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "completed",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5",
+ "summary": [
+ {
+ "timeStamp": "2018-12-19T00:00:00Z",
+ "ipsEstimatorNumerator": 0.0,
+ "ipsEstimatorDenominator": 170.0,
+ "snipsEstimatorDenominator": 308.25,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 64.0,
+ "confidenceInterval": 0.0,
+ "sumOfSquares": 0.0
+ },
+ {
+ "timeStamp": "2018-12-19T00:05:00Z",
+ "ipsEstimatorNumerator": 2.2,
+ "ipsEstimatorDenominator": 196.0,
+ "snipsEstimatorDenominator": 193.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "confidenceInterval": 1.1009,
+ "sumOfSquares": 2.424
+ }
+ ],
+ "totalSummary": {
+ "timeStamp": "2019-01-19T00:00:00Z",
+ "ipsEstimatorNumerator": 22.2,
+ "ipsEstimatorDenominator": 1906.0,
+ "snipsEstimatorDenominator": 1993.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "confidenceInterval": 1.1209,
+ "sumOfSquares": 2.484
+ }
+ }
+ ],
+ "featureImportance": [
+ [
+ "f1",
+ "f2"
+ ],
+ [
+ "f3",
+ "f4"
+ ]
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json
new file mode 100644
index 000000000000..c09af2b83e0e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-11-19T00:00:00Z",
+ "endTime": "2018-12-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ],
+ "featureImportance": []
+ },
+ {
+ "id": "21d03972-9130-4be9-8c8b-8ac3ec9b9dd1",
+ "name": "mySecondEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [],
+ "featureImportance": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json
new file mode 100644
index 000000000000..a7bec92839a5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json
new file mode 100644
index 000000000000..78802cdfed80
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "reward": {
+ "value": 1.0
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json
new file mode 100644
index 000000000000..bd50cf1be127
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json
new file mode 100644
index 000000000000..fc02b29ae13b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "dateRange": {
+ "from": "2019-01-18T16:00:00-08:00",
+ "to": "2019-02-18T16:00:00-08:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json
new file mode 100644
index 000000000000..b8aee663b45a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": ""
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json
new file mode 100644
index 000000000000..df3753d4749b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "creationTime": "2019-01-18T16:00:00-08:00",
+ "lastModifiedTime": "2019-01-18T16:00:00-08:00"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json
new file mode 100644
index 000000000000..bd50cf1be127
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json
new file mode 100644
index 000000000000..d454ebf852e5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json
new file mode 100644
index 000000000000..d454ebf852e5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json
new file mode 100644
index 000000000000..a20c1b928b74
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policy": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json
new file mode 100644
index 000000000000..32772be66a8e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "rankRequest": {
+ "contextFeatures": [
+ {
+ "timeOfDay": "Morning"
+ }
+ ],
+ "actions": [
+ {
+ "id": "NewsArticle",
+ "features": [
+ {
+ "type": "News"
+ }
+ ]
+ },
+ {
+ "id": "SportsArticle",
+ "features": [
+ {
+ "type": "Sports"
+ }
+ ]
+ },
+ {
+ "id": "EntertainmentArticle",
+ "features": [
+ {
+ "type": "Entertainment"
+ }
+ ]
+ }
+ ],
+ "excludedActions": [
+ "SportsArticle"
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "deferActivation": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "ranking": [
+ {
+ "id": "EntertainmentArticle",
+ "probability": 0.8
+ },
+ {
+ "id": "SportsArticle",
+ "probability": 0.0
+ },
+ {
+ "id": "NewsArticle",
+ "probability": 0.2
+ }
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "rewardActionId": "EntertainmentArticle"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json
new file mode 100644
index 000000000000..6c1ba6b0d7b1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json
new file mode 100644
index 000000000000..60eee8d630cb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "config": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ },
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
index 1e2608898e8c..928efa6d8bd0 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
@@ -627,6 +627,16 @@
"$ref": "#/definitions/UpdateKbContentsDTO"
}
]
+ },
+ "enableHierarchicalExtraction": {
+ "type": "boolean",
+ "description": "Enable hierarchical extraction of Q-A from files and urls. The value set during KB creation will be used if this field is not present."
+ },
+ "defaultAnswerUsedForExtraction": {
+ "type": "string",
+ "description": "Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True.",
+ "maxLength": 300,
+ "minLength": 1
}
}
},
@@ -879,6 +889,22 @@
"items": {
"$ref": "#/definitions/FileDTO"
}
+ },
+ "enableHierarchicalExtraction": {
+ "type": "boolean",
+ "description": "Enable hierarchical extraction of Q-A from files and urls. Value to be considered False if this field is not present."
+ },
+ "defaultAnswerUsedForExtraction":{
+ "type": "string",
+ "description": "Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "language": {
+ "type": "string",
+ "description": "Language of the knowledgebase.",
+ "maxLength": 100,
+ "minLength": 1
}
}
},
@@ -1324,6 +1350,10 @@
"lastStableVersion": {
"type": "string",
"description": "Latest version of runtime."
+ },
+ "language": {
+ "type": "string",
+ "description": "Language setting of runtime."
}
}
}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
index adc3dd313096..5011550648dc 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json
@@ -357,6 +357,10 @@
}
]
},
+ "rankerType": {
+ "type": "string",
+ "description": "Optional field. Set to 'QuestionOnly' for using a question only Ranker."
+ },
"strictFilters": {
"type": "array",
"description": "Find only answers that contain these metadata.",
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
new file mode 100644
index 000000000000..2c826b9ba1c4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
@@ -0,0 +1,1122 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.0-preview.1",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/v3.0-preview.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean",
+ "required": false
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity PII request": {
+ "$ref": ".//examples//SuccessfulEntityPIIRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/linking": {
+ "post": {
+ "summary": "Linked entities from a well-known knowledge base",
+ "description": "The API returns a list of recognized entities with links to a well-known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesLinking",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities with links to a well-known knowledge base returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze. Documents can now contain a language field to indicate the text language",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral) for the document and each sentence within it. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string"
+ },
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)",
+ "schema": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "The set of documents to process as part of this batch.",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "description": "Contains a set of input documents to be analyzed by the service."
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string",
+ "description": "The input text to process."
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ }
+ },
+ "description": "Contains an input document to be analyzed by the service."
+ },
+ "DocumentError": {
+ "type": "object",
+ "required": [
+ "id",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "TextAnalyticsError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "invalidRequest",
+ "invalidArgument",
+ "internalServerError",
+ "serviceUnavailable"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": false
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "InnerError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "invalidParameterValue",
+ "invalidRequestBodyFormat",
+ "emptyRequest",
+ "missingInputRecords",
+ "invalidDocument",
+ "modelVersionIncorrect",
+ "invalidDocumentBatch",
+ "unsupportedLanguageCode",
+ "invalidCountryHint"
+ ],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": false
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "SentimentResponse": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Sentiment analysis per document.",
+ "items": {
+ "$ref": "#/definitions/DocumentSentiment"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentSentiment": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentiment",
+ "documentScores",
+ "sentences"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative",
+ "mixed"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "documentScores": {
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "sentences": {
+ "type": "array",
+ "description": "Sentence level sentiment analysis.",
+ "items": {
+ "$ref": "#/definitions/SentenceSentiment"
+ }
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "required": [
+ "documentsCount",
+ "validDocumentsCount",
+ "erroneousDocumentsCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "documentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of documents submitted in the request."
+ },
+ "validDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents."
+ },
+ "erroneousDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of transactions for the request."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the request payload."
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "required": [
+ "charactersCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "charactersCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of text elements recognized in the document."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of transactions for the document."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload."
+ },
+ "SentimentConfidenceScorePerLabel": {
+ "type": "object",
+ "required": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "neutral": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative."
+ },
+ "SentenceSentiment": {
+ "type": "object",
+ "required": [
+ "sentiment",
+ "sentenceScores",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "description": "The predicted Sentiment for the sentence.",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "sentenceScores": {
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence by Unicode standard."
+ },
+ "warnings": {
+ "type": "array",
+ "description": "The warnings generated for the sentence.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "Entity": {
+ "type": "object",
+ "required": [
+ "text",
+ "type",
+ "offset",
+ "length",
+ "score"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "type": {
+ "type": "string",
+ "description": "Entity type, such as Person/Location/Org/SSN etc"
+ },
+ "subtype": {
+ "type": "string",
+ "description": "Entity sub type, such as Age/Year/TimeRange etc"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position (in Unicode characters) for the entity text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length (in Unicode characters) for the entity text."
+ },
+ "score": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "EntityLinkingResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLinkedEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLinkedEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized well-known entities in the document.",
+ "items": {
+ "$ref": "#/definitions/LinkedEntity"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LinkedEntity": {
+ "type": "object",
+ "required": [
+ "name",
+ "matches",
+ "language",
+ "url",
+ "dataSource"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Entity Linking formal name."
+ },
+ "matches": {
+ "type": "array",
+ "description": "List of instances this entity appears in the text.",
+ "items": {
+ "$ref": "#/definitions/Match"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "Language used in the data source."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the recognized entity from the data source."
+ },
+ "url": {
+ "type": "string",
+ "description": "URL for the entity's page from the data source."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source used to extract entity linking, such as Wiki/Bing etc."
+ }
+ }
+ },
+ "Match": {
+ "type": "object",
+ "required": [
+ "score",
+ "text",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "score": {
+ "type": "number",
+ "format": "double",
+ "description": "If a well-known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned."
+ },
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position (in Unicode characters) for the entity match text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length (in Unicode characters) for the entity match text."
+ }
+ }
+ },
+ "KeyPhraseResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyPhrases"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentKeyPhrases": {
+ "type": "object",
+ "required": [
+ "id",
+ "keyPhrases"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "keyPhrases": {
+ "type": "array",
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string"
+ },
+ "countryHint": {
+ "type": "string"
+ }
+ }
+ },
+ "LanguageResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLanguage"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLanguage": {
+ "type": "object",
+ "required": [
+ "id",
+ "detectedLanguages"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "detectedLanguages": {
+ "type": "array",
+ "description": "A list of extracted languages.",
+ "items": {
+ "$ref": "#/definitions/DetectedLanguage"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "required": [
+ "name",
+ "iso6391Name",
+ "score"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Long name of a detected language (e.g. English, French)."
+ },
+ "iso6391Name": {
+ "type": "string",
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)."
+ },
+ "score": {
+ "type": "number",
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..babd6e22d296
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "Seattle",
+ "type": "Location",
+ "offset": 26,
+ "length": 7,
+ "score": 0.8062429428100586
+ },
+ {
+ "text": "last week",
+ "type": "DateTime",
+ "subtype": "DateRange",
+ "offset": 34,
+ "length": 9,
+ "score": 0.8
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "Microsoft",
+ "type": "Organization",
+ "offset": 10,
+ "length": 9,
+ "score": 0.9998359680175781
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "text": "Space Needle",
+ "type": "Organization",
+ "offset": 10,
+ "length": 12,
+ "score": 0.7599651217460632
+ },
+ {
+ "text": "2",
+ "type": "Quantity",
+ "subtype": "Number",
+ "offset": 23,
+ "length": 1,
+ "score": 0.8
+ }
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..c58af39167b9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "name": "Seattle",
+ "matches": [
+ {
+ "text": "Seattle",
+ "offset": 26,
+ "length": 7,
+ "score": 0.15046201222847677
+ }
+ ],
+ "language": "en",
+ "id": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle",
+ "dataSource": "Wikipedia"
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "name": "Microsoft",
+ "matches": [
+ {
+ "text": "Microsoft",
+ "offset": 10,
+ "length": 9,
+ "score": 0.1869365971673207
+ }
+ ],
+ "language": "en",
+ "id": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft",
+ "dataSource": "Wikipedia"
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "name": "Space Needle",
+ "matches": [
+ {
+ "text": "Space Needle",
+ "offset": 10,
+ "length": 12,
+ "score": 0.155903620065595
+ }
+ ],
+ "language": "en",
+ "id": "Space Needle",
+ "url": "https://en.wikipedia.org/wiki/Space_Needle",
+ "dataSource": "Wikipedia"
+ }
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..29cba30d10b6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "0",
+ "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
+ },
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "0",
+ "entities": [
+ {
+ "text": "859-98-0987",
+ "type": "U.S. Social Security Number (SSN)",
+ "subtype": "",
+ "offset": 28,
+ "length": 11,
+ "score": 0.65
+ }
+ ]
+ },
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "111000025",
+ "type": "ABA Routing Number",
+ "subtype": "",
+ "offset": 18,
+ "length": 9,
+ "score": 0.75
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "998.214.865-68",
+ "type": "Brazil CPF Number",
+ "subtype": "",
+ "offset": 3,
+ "length": 14,
+ "score": 0.85
+ }
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..4a61dd56c123
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "language": "fr",
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "language": "es",
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "world",
+ "input text"
+ ]
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "monde"
+ ]
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "carretera",
+ "tráfico",
+ "día"
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..071bf51ea8c9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "countryHint": "US",
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "detectedLanguages": [
+ {
+ "name": "English",
+ "iso6391Name": "en",
+ "score": 1
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "detectedLanguages": [
+ {
+ "name": "French",
+ "iso6391Name": "fr",
+ "score": 1
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "detectedLanguages": [
+ {
+ "name": "Spanish",
+ "iso6391Name": "es",
+ "score": 1
+ }
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..a61d236644d0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "It's incredibly sunny outside! I'm so happy."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "sentiment": "positive",
+ "documentScores": {
+ "positive": 0.998519241809845,
+ "neutral": 0.0009635657188483,
+ "negative": 0.000517153472174
+ },
+ "sentences": [
+ {
+ "sentiment": "neutral",
+ "sentenceScores": {
+ "positive": 0.070910170674324,
+ "neutral": 0.9124033451080322,
+ "negative": 0.0166865326464176
+ },
+ "offset": 0,
+ "length": 12
+ },
+ {
+ "sentiment": "positive",
+ "sentenceScores": {
+ "positive": 0.998519241809845,
+ "neutral": 0.0009635657188483,
+ "negative": 0.000517153472174
+ },
+ "offset": 13,
+ "length": 36
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "sentiment": "positive",
+ "documentScores": {
+ "positive": 0.9954571723937988,
+ "neutral": 0.0034653299953789,
+ "negative": 0.0010774657130241
+ },
+ "sentences": [
+ {
+ "sentiment": "neutral",
+ "sentenceScores": {
+ "positive": 0.0499138832092285,
+ "neutral": 0.9387012720108032,
+ "negative": 0.0113849258050323
+ },
+ "offset": 0,
+ "length": 30
+ },
+ {
+ "sentiment": "positive",
+ "sentenceScores": {
+ "positive": 0.9954571723937988,
+ "neutral": 0.0034653299953789,
+ "negative": 0.0010774657130241
+ },
+ "offset": 31,
+ "length": 13
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "sentiment": "positive",
+ "documentScores": {
+ "positive": 0.9965128302574158,
+ "neutral": 0.0018965365597978,
+ "negative": 0.0015906029148027
+ },
+ "sentences": [
+ {
+ "sentiment": "positive",
+ "sentenceScores": {
+ "positive": 0.9965128302574158,
+ "neutral": 0.0018965365597978,
+ "negative": 0.0015906029148027
+ },
+ "offset": 0,
+ "length": 52
+ }
+ ]
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index 60e5b6ad8d9d..aaa4fc2829e7 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -149,6 +149,15 @@ input-file: preview/v2.1/TextAnalytics.json
log-file: logs/log.txt
```
+### Release 3.0-Preview.1
+
+These settings apply only when `--tag=release_3_0_preview.1` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_0_preview.1'
+input-file: preview/v3.0-preview.1/TextAnalytics.json
+log-file: logs/log.txt
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -244,6 +253,7 @@ input-file:
- $(this-folder)/stable/v2.0/TextAnalytics.json
- $(this-folder)/stable/v2.1/TextAnalytics.json
- $(this-folder)/preview/v2.1/TextAnalytics.json
+ - $(this-folder)/preview/v3.0-preview.1/TextAnalytics.json
```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
index d54e2f91d6ca..f2986728bd65 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
@@ -229,7 +229,7 @@
"$ref": "#/definitions/SentimentBatchResult"
}
},
- "500": {
+ "default": {
"description": "Error Response",
"schema": {
"$ref": "#/definitions/ErrorResponse"
@@ -259,25 +259,6 @@
"$ref": "#/definitions/MultiLanguageInput"
}
}
- },
- "example": {
- "documents": [
- {
- "language": "en",
- "id": "1",
- "text": "Hello world. This is some input text that I love."
- },
- {
- "language": "fr",
- "id": "2",
- "text": "Bonjour tout le monde"
- },
- {
- "language": "es",
- "id": "3",
- "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
- }
- ]
}
},
"MultiLanguageInput": {
@@ -557,25 +538,6 @@
"$ref": "#/definitions/LanguageInput"
}
}
- },
- "example": {
- "documents": [
- {
- "countryHint": "en",
- "id": "1",
- "text": "Hello world. This is some input text that I love."
- },
- {
- "countryHint": "fr",
- "id": "2",
- "text": "Bonjour tout le monde"
- },
- {
- "countryHint": "es",
- "id": "3",
- "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
- }
- ]
}
},
"LanguageInput": {
diff --git a/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/VisualSearch.json b/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/VisualSearch.json
index 43fd4a58d169..c916063a70e5 100644
--- a/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/VisualSearch.json
+++ b/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/VisualSearch.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "Visual Search Client",
- "description": "Visual Search API lets you discover insights about an image such as visually similar images, shopping sources, and related searches. The API can also perform text recognition, identify entities (people, places, things), return other topical content for the user to explore, and more. For more information, see [Visual Search Overview](https://docs.microsoft.com/azure/cognitive-services/bing-visual-search/overview).",
+ "description": "Visual Search API lets you discover insights about an image such as visually similar images, shopping sources, and related searches. The API can also perform text recognition, identify entities (people, places, things), return other topical content for the user to explore, and more. For more information, see [Visual Search Overview](https://docs.microsoft.com/azure/cognitive-services/bing-visual-search/overview). **NOTE:** To comply with the new EU Copyright Directive in France, the Bing Visual Search API must omit some content from certain EU News sources for French users. The removed content may include thumbnail images and videos, video previews, and snippets which accompany search results from these sources. As a consequence, the Bing APIs may serve fewer results with thumbnail images and videos, video previews, and snippets to French users.",
"version": "1.0"
},
"parameters": {
diff --git a/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/examples/SuccessfulVisualSearchRequest.json b/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/examples/SuccessfulVisualSearchRequest.json
index ee56d96d053c..443a25e6d143 100644
--- a/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/examples/SuccessfulVisualSearchRequest.json
+++ b/specification/cognitiveservices/data-plane/VisualSearch/preview/v1.0/examples/SuccessfulVisualSearchRequest.json
@@ -14,7 +14,7 @@
"tags": [
{
"image": {
- "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Space+Needle&pid=Api&mkt=en-US&adlt=moderate"
+ "thumbnailUrl": "https://tse4.mm.bing.net/th?q=Space+Needle&pid=Api&mkt=en-US&adlt=moderate"
},
"displayName": "Space Needle",
"boundingBox": {
@@ -60,13 +60,13 @@
"_type": "ImageAction",
"actionType": "ImageById",
"image": {
- "webSearchUrl": "https:\/\/www.bing.com\/images\/search?view=detailv2&FORM=OIIRPO",
+ "webSearchUrl": "https://www.bing.com/images/search?view=detailv2&FORM=OIIRPO",
"name": "",
- "contentUrl": "https:\/\/assets0.roadtrippers.com\/uploads\/poi_gallery_image\/image\/319703805\/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480\/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
- "hostPageUrl": "https:\/\/assets0.roadtrippers.com\/uploads\/poi_gallery_image\/image\/319703805\/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480\/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
+ "contentUrl": "https://assets0.roadtrippers.com/uploads/poi_gallery_image/image/319703805/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
+ "hostPageUrl": "https://assets0.roadtrippers.com/uploads/poi_gallery_image/image/319703805/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
"contentSize": "47157 B",
"encodingFormat": "jpeg",
- "hostPageDisplayUrl": "https:\/\/assets0.roadtrippers.com\/uploads\/poi_gallery_image\/image\/319703805\/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480\/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
+ "hostPageDisplayUrl": "https://assets0.roadtrippers.com/uploads/poi_gallery_image/image/319703805/-quality_60_-interlace_Plane_-resize_1024x480_U__-gravity_center_-extent_1024x480/poi_gallery_image-image-9e436dcb-f4af-4965-9fd6-d526b1af1758.jpg",
"width": 1024,
"height": 480,
"thumbnail": {
@@ -80,7 +80,7 @@
},
{
"image": {
- "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=city&pid=Api&mkt=en-US&adlt=moderate"
+ "thumbnailUrl": "https://tse4.mm.bing.net/th?q=city&pid=Api&mkt=en-US&adlt=moderate"
},
"displayName": "city",
"boundingBox": {
@@ -124,9 +124,9 @@
"actions": [
{
"_type": "ImageAction",
- "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=city",
+ "webSearchUrl": "https://www.bing.com/images/search?q=city",
"displayName": "city",
- "serviceUrl": "https:\/\/www.bing.com\/api\/v7\/images\/search?q=city",
+ "serviceUrl": "https://www.bing.com/api/v7/images/search?q=city",
"actionType": "ImageResults"
}
]
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
index 8dce807da01d..a0d747af107d 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
@@ -58,11 +58,11 @@
"description": "The name of Cognitive Services account."
},
{
- "name": "parameters",
+ "name": "account",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/CognitiveServicesAccountCreateParameters"
+ "$ref": "#/definitions/CognitiveServicesAccount"
},
"description": "The parameters to provide for the created account."
},
@@ -86,6 +86,12 @@
"$ref": "#/definitions/CognitiveServicesAccount"
}
},
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CognitiveServicesAccount"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed",
"schema": {
@@ -124,12 +130,11 @@
"description": "The name of Cognitive Services account."
},
{
- "name": "parameters",
+ "name": "account",
"in": "body",
"required": true,
- "x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CognitiveServicesAccountUpdateParameters"
+ "$ref": "#/definitions/CognitiveServicesAccount"
},
"description": "The parameters to provide for the created account."
},
@@ -147,6 +152,12 @@
"$ref": "#/definitions/CognitiveServicesAccount"
}
},
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CognitiveServicesAccount"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
"schema": {
@@ -195,6 +206,9 @@
"200": {
"description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
},
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
"204": {
"description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
},
@@ -638,7 +652,7 @@
"tags": [
"CognitiveServicesAccounts"
],
- "operationId": "CheckSkuAvailability_List",
+ "operationId": "CheckSkuAvailability",
"description": "Check available SKUs.",
"x-ms-examples": {
"Check SKU Availability": {
@@ -718,64 +732,10 @@
}
},
"definitions": {
- "CognitiveServicesAccountCreateParameters": {
- "properties": {
- "sku": {
- "$ref": "#/definitions/Sku",
- "description": "Required. Gets or sets the SKU of the resource."
- },
- "kind": {
- "$ref": "#/definitions/CognitiveServicesAccountKind",
- "description": "Required. Gets or sets the Kind of the resource."
- },
- "location": {
- "type": "string",
- "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update the request will succeed."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Gets or sets 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."
- },
- "properties": {
- "type": "object",
- "description": "Must exist in the request. Must be an empty object. Must not be null."
- }
- },
- "required": [
- "sku",
- "kind",
- "location",
- "properties"
- ],
- "description": "The parameters to provide for the account."
- },
"CognitiveServicesAccountKind": {
"type": "string",
"description": "Required. Indicates the type of cognitive service account."
},
- "CognitiveServicesAccountUpdateParameters": {
- "properties": {
- "sku": {
- "$ref": "#/definitions/Sku",
- "description": "Gets or sets the SKU of the resource."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Gets or sets 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."
- },
- "properties": {
- "type": "object",
- "description": "Additional properties for Account. Only provided fields will be updated."
- }
- },
- "description": "The parameters to provide for the account."
- },
"Sku": {
"properties": {
"name": {
@@ -812,7 +772,8 @@
"properties": {
"etag": {
"type": "string",
- "description": "Entity Tag"
+ "description": "Entity Tag",
+ "readOnly": true
},
"id": {
"type": "string",
@@ -820,8 +781,8 @@
"readOnly": true
},
"kind": {
- "type": "string",
- "description": "Type of cognitive service account."
+ "$ref": "#/definitions/CognitiveServicesAccountKind",
+ "description": "The Kind of the resource."
},
"location": {
"type": "string",
@@ -833,7 +794,6 @@
"readOnly": true
},
"properties": {
- "x-ms-client-flatten": true,
"$ref": "#/definitions/CognitiveServicesAccountProperties",
"description": "Properties of Cognitive Services account."
},
@@ -894,11 +854,13 @@
},
"endpoint": {
"type": "string",
- "description": "Endpoint of the created account."
+ "description": "Endpoint of the created account.",
+ "readOnly": true
},
"internalId": {
"type": "string",
- "description": "The internal identifier."
+ "description": "The internal identifier.",
+ "readOnly": true
},
"customSubDomainName": {
"type": "string",
@@ -907,10 +869,39 @@
"networkAcls": {
"$ref": "#/definitions/NetworkRuleSet",
"description": "A collection of rules governing the accessibility from specific network locations."
+ },
+ "apiProperties": {
+ "$ref": "#/definitions/CognitiveServicesAccountApiProperties",
+ "description": "The api properties for special APIs."
}
},
"description": "Properties of Cognitive Services account."
},
+ "CognitiveServicesAccountApiProperties": {
+ "properties": {
+ "qnaRuntimeEndpoint": {
+ "type": "string",
+ "description": "(QnAMaker Only) The runtime endpoint of QnAMaker."
+ },
+ "statisticsEnabled": {
+ "type": "boolean",
+ "description": "(Bing Search Only) The flag to enable statistics of Bing Search."
+ },
+ "eventHubConnectionString": {
+ "type": "string",
+ "description": "(Personalization Only) The flag to enable statistics of Bing Search.",
+ "pattern": "^( *)Endpoint=sb://(.*);( *)SharedAccessKeyName=(.*);( *)SharedAccessKey=(.*)$",
+ "maxLength": 1000
+ },
+ "storageAccountConnectionString": {
+ "type": "string",
+ "description": "(Personalization Only) The storage account connection string.",
+ "pattern": "^(( *)DefaultEndpointsProtocol=(http|https)( *);( *))?AccountName=(.*)AccountKey=(.*)EndpointSuffix=(.*)$",
+ "maxLength": 1000
+ }
+ },
+ "description": "The api properties for special APIs."
+ },
"CognitiveServicesAccountKeys": {
"properties": {
"key1": {
@@ -1383,18 +1374,6 @@
},
"NetworkRuleSet": {
"properties": {
- "bypass": {
- "type": "string",
- "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.",
- "enum": [
- "AzureServices",
- "None"
- ],
- "x-ms-enum": {
- "name": "NetworkRuleBypassOptions",
- "modelAsString": true
- }
- },
"defaultAction": {
"type": "string",
"description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.",
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
index a03d569cebb0..89c1b013bdd2 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
@@ -4,7 +4,7 @@
"subscriptionId": "f9b96b36-1f5e-4021-8959-51527e26e6d3",
"resourceGroupName": "felixwa-01",
"accountName": "testCreate1",
- "parameters": {
+ "account": {
"location": "West US",
"kind": "Emotion",
"sku": {
@@ -49,6 +49,24 @@
"internalId": "9dc1c5b9bb95486aa63899acdaebd9a0"
}
}
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded",
+ "internalId": "9dc1c5b9bb95486aa63899acdaebd9a0"
+ }
+ }
}
}
}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
index ca8c96fbff78..cd0244d1544b 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
@@ -7,6 +7,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
index 85ccd6e423c5..e4ba6c016f26 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
@@ -4,7 +4,7 @@
"subscriptionId": "f9b96b36-1f5e-4021-8959-51527e26e6d3",
"resourceGroupName": "bvttest",
"accountName": "bingSearch",
- "parameters": {
+ "account": {
"sku": {
"name": "S2"
}
@@ -28,6 +28,24 @@
"internalId": "ceebe1e8e40f44e69554c1a759de4cf9"
}
}
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch",
+ "name": "bingSearch",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "global",
+ "sku": {
+ "name": "S2"
+ },
+ "kind": "Bing.Search",
+ "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"",
+ "properties": {
+ "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0",
+ "provisioningState": "Succeeded",
+ "internalId": "ceebe1e8e40f44e69554c1a759de4cf9"
+ }
+ }
}
}
}
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index 7751e5797cdf..5e1afb8546f0 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -121,7 +121,7 @@ Please also specify `--azure-libraries-for-java-folder=
Minimum api-version: 2018-04-01."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json
index 12fdbbabc24a..29bb119ff690 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json
@@ -1,40 +1,79 @@
{
"parameters": {
"subscriptionId": "{subscriptionId}",
- "api-version": "2018-04-01"
+ "api-version": "2018-04-01",
+ "$expand": "virtualMachines\\$ref"
},
"responses": {
"200": {
"body": {
"value": [
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
"properties": {
"platformUpdateDomainCount": 5,
- "platformFaultDomainCount": 2
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "centralus",
- "tags": {
- "{tagName}": "{tagValue}"
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
"sku": {
- "name": "Aligned"
+ "name": "Classic"
}
},
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
"properties": {
- "platformUpdateDomainCount": 3,
- "platformFaultDomainCount": 2
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "westus",
+ "location": "westcentralus",
"tags": {
"{tagName}": "{tagValue}"
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
"sku": {
"name": "Classic"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandGet.json
index 43cfc334537e..2dbb2aa4b669 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandGet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandGet.json
@@ -19,12 +19,12 @@
{
"name": "arg1",
"type": "string",
- "value": "value1"
+ "defaultValue": "value1"
},
{
"name": "arg2",
"type": "string",
- "value": "value2"
+ "defaultValue": "value2"
}
],
"$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandList.json
index 49d1d30d8f14..6c7b4fa34bac 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandList.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/VirtualMachineRunCommandList.json
@@ -9,70 +9,70 @@
"body": {
"value": [
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableRemotePS",
"osType": "Windows",
"label": "Enable remote PowerShell",
"description": "Configure the machine to enable remote PowerShell."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "IPConfig",
"osType": "Windows",
"label": "List IP configuration",
"description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunPowerShellScript",
"osType": "Windows",
"label": "Executes a PowerShell script",
"description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunShellScript",
"osType": "Linux",
"label": "Executes a Linux shell script",
"description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ifconfig",
"osType": "Linux",
"label": "List network configuration",
"description": "Get the configuration of all network interfaces."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableAdminAccount",
"osType": "Windows",
"label": "Enable administrator account",
"description": "Checks if the local Administrator account is disabled, and if so enables it."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetAccountPassword",
"osType": "Windows",
"label": "Reset built-in Administrator account password",
"description": "Reset built-in Administrator account password."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RDPSettings",
"osType": "Windows",
"label": "Verify RDP Listener Settings",
"description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "SetRDPPort",
"osType": "Windows",
"label": "Set Remote Desktop port",
"description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetRDPCert",
"osType": "Windows",
"label": "Restore RDP Authentication mode to defaults",
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 6445e9d30625..0e150b7de7f7 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
@@ -264,6 +264,11 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
}
}
},
@@ -7713,6 +7718,10 @@
"singlePlacementGroup": {
"type": "boolean",
"description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json
index bcf40066ac4b..217c0f707840 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json
@@ -1,40 +1,79 @@
{
"parameters": {
"subscriptionId": "{subscriptionId}",
- "api-version": "2018-06-01"
+ "api-version": "2018-06-01",
+ "$expand": "virtualMachines\\$ref"
},
"responses": {
"200": {
"body": {
"value": [
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
"properties": {
"platformUpdateDomainCount": 5,
- "platformFaultDomainCount": 2
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "centralus",
- "tags": {
- "{tagName}": "{tagValue}"
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
"sku": {
- "name": "Aligned"
+ "name": "Classic"
}
},
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
"properties": {
- "platformUpdateDomainCount": 3,
- "platformFaultDomainCount": 2
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "westus",
+ "location": "westcentralus",
"tags": {
"{tagName}": "{tagValue}"
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
"sku": {
"name": "Classic"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandGet.json
index 033cce1df40b..965cf747fc33 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandGet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandGet.json
@@ -19,12 +19,12 @@
{
"name": "arg1",
"type": "string",
- "value": "value1"
+ "defaultValue": "value1"
},
{
"name": "arg2",
"type": "string",
- "value": "value2"
+ "defaultValue": "value2"
}
],
"$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandList.json
index ff6bebf28b12..d6f72c39c771 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandList.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/VirtualMachineRunCommandList.json
@@ -9,70 +9,70 @@
"body": {
"value": [
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableRemotePS",
"osType": "Windows",
"label": "Enable remote PowerShell",
"description": "Configure the machine to enable remote PowerShell."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "IPConfig",
"osType": "Windows",
"label": "List IP configuration",
"description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunPowerShellScript",
"osType": "Windows",
"label": "Executes a PowerShell script",
"description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunShellScript",
"osType": "Linux",
"label": "Executes a Linux shell script",
"description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ifconfig",
"osType": "Linux",
"label": "List network configuration",
"description": "Get the configuration of all network interfaces."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableAdminAccount",
"osType": "Windows",
"label": "Enable administrator account",
"description": "Checks if the local Administrator account is disabled, and if so enables it."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetAccountPassword",
"osType": "Windows",
"label": "Reset built-in Administrator account password",
"description": "Reset built-in Administrator account password."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RDPSettings",
"osType": "Windows",
"label": "Verify RDP Listener Settings",
"description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "SetRDPPort",
"osType": "Windows",
"label": "Set Remote Desktop port",
"description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetRDPCert",
"osType": "Windows",
"label": "Restore RDP Authentication mode to defaults",
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 42e44cbd2823..f793a723d513 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
@@ -264,6 +264,11 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
}
}
},
@@ -2599,6 +2604,9 @@
},
"Create a scale set with ephemeral os disks.": {
"$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json"
+ },
+ "Create a scale set with automatic repairs enabled": {
+ "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json"
}
}
},
@@ -6071,6 +6079,19 @@
},
"description": "Specifies the operating system settings for the virtual machine."
},
+ "AutomaticRepairsPolicy": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
+ }
+ },
+ "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
+ },
"NetworkInterfaceReferenceProperties": {
"properties": {
"primary": {
@@ -7673,6 +7694,10 @@
"$ref": "#/definitions/UpgradePolicy",
"description": "The upgrade policy."
},
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
"virtualMachineProfile": {
"$ref": "#/definitions/VirtualMachineScaleSetVMProfile",
"description": "The virtual machine profile."
@@ -7721,6 +7746,10 @@
"$ref": "#/definitions/UpgradePolicy",
"description": "The upgrade policy."
},
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
"virtualMachineProfile": {
"$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile",
"description": "The virtual machine profile."
@@ -7729,9 +7758,17 @@
"type": "boolean",
"description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
},
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
"singlePlacementGroup": {
"type": "boolean",
"description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..8e8160513e48
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json
index b5cc831927b5..bd9cb9e4e140 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json
@@ -1,40 +1,79 @@
{
"parameters": {
"subscriptionId": "{subscriptionId}",
- "api-version": "2018-10-01"
+ "api-version": "2018-10-01",
+ "$expand": "virtualMachines\\$ref"
},
"responses": {
"200": {
"body": {
"value": [
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
"properties": {
"platformUpdateDomainCount": 5,
- "platformFaultDomainCount": 2
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "centralus",
- "tags": {
- "{tagName}": "{tagValue}"
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
"sku": {
- "name": "Aligned"
+ "name": "Classic"
}
},
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
"properties": {
- "platformUpdateDomainCount": 3,
- "platformFaultDomainCount": 2
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "westus",
+ "location": "westcentralus",
"tags": {
"{tagName}": "{tagValue}"
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
"sku": {
"name": "Classic"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandGet.json
index b15195ff297d..ec10bdcb35ff 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandGet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandGet.json
@@ -19,12 +19,12 @@
{
"name": "arg1",
"type": "string",
- "value": "value1"
+ "defaultValue": "value1"
},
{
"name": "arg2",
"type": "string",
- "value": "value2"
+ "defaultValue": "value2"
}
],
"$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandList.json
index 6b20efeac977..316ad384a014 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandList.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/VirtualMachineRunCommandList.json
@@ -9,70 +9,70 @@
"body": {
"value": [
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableRemotePS",
"osType": "Windows",
"label": "Enable remote PowerShell",
"description": "Configure the machine to enable remote PowerShell."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "IPConfig",
"osType": "Windows",
"label": "List IP configuration",
"description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunPowerShellScript",
"osType": "Windows",
"label": "Executes a PowerShell script",
"description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunShellScript",
"osType": "Linux",
"label": "Executes a Linux shell script",
"description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ifconfig",
"osType": "Linux",
"label": "List network configuration",
"description": "Get the configuration of all network interfaces."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableAdminAccount",
"osType": "Windows",
"label": "Enable administrator account",
"description": "Checks if the local Administrator account is disabled, and if so enables it."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetAccountPassword",
"osType": "Windows",
"label": "Reset built-in Administrator account password",
"description": "Reset built-in Administrator account password."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RDPSettings",
"osType": "Windows",
"label": "Verify RDP Listener Settings",
"description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "SetRDPPort",
"osType": "Windows",
"label": "Set Remote Desktop port",
"description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetRDPCert",
"osType": "Windows",
"label": "Restore RDP Authentication mode to defaults",
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 0af319b1f30f..3a626b5f5f45 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
@@ -264,6 +264,11 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
}
}
},
@@ -2053,7 +2058,12 @@
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
},
"delete": {
"tags": [
@@ -3136,6 +3146,9 @@
},
"Create a scale set with terminate scheduled events enabled.": {
"$ref": "./examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json"
+ },
+ "Create a scale set with automatic repairs enabled": {
+ "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json"
}
}
},
@@ -6544,7 +6557,7 @@
},
"StorageAccountType": {
"type": "string",
- "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types ",
"enum": [
"Standard_LRS",
"Premium_LRS",
@@ -6942,10 +6955,27 @@
"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."
},
+ "AutomaticRepairsPolicy": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
+ }
+ },
+ "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
+ },
"NetworkInterfaceReferenceProperties": {
"properties": {
"primary": {
@@ -7003,15 +7033,40 @@
},
"description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
},
+ "priority": {
+ "type": "string",
+ "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.
'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.",
+ "enum": [
+ "Regular",
+ "Low",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachinePriorityTypes",
+ "modelAsString": true
+ }
+ },
+ "evictionPolicy": {
+ "type": "string",
+ "description": "Specifies the eviction policy for the Azure Spot VM/VMSS",
+ "enum": [
+ "Deallocate",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineEvictionPolicyTypes",
+ "modelAsString": true
+ }
+ },
"BillingProfile": {
"properties": {
"maxPrice": {
"type": "number",
"format": "double",
- "description": "Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars.
This price will be compared with the current low priority price for the VM size. Also, the prices are compared at the time of create/update of low priority VM/VMSS and the operation will only succeed if the maxPrice is greater than the current low priority price.
The maxPrice will also be used for evicting a low priority VM/VMSS if the current low priority price goes beyond the maxPrice after creation of VM/VMSS.
Possible values are:
- Any decimal value greater than zero. Example: $0.01538
-1 – indicates default price to be up-to on-demand.
You can set the maxPrice to -1 to indicate that the low priority VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.
Minimum api-version: 2019-03-01."
+ "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.
The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.
Possible values are:
- Any decimal value greater than zero. Example: 0.01538
-1 – indicates default price to be up-to on-demand.
You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.
Minimum api-version: 2019-03-01."
}
},
- "description": "Specifies the billing related details of a low priority VM or VMSS.
Minimum api-version: 2019-03-01."
+ "description": "Specifies the billing related details of a Azure Spot VM or VMSS.
Minimum api-version: 2019-03-01."
},
"VirtualMachineExtensionHandlerInstanceView": {
"properties": {
@@ -7306,32 +7361,16 @@
"description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01."
},
"priority": {
- "type": "string",
- "description": "Specifies the priority for the virtual machine.
Minimum api-version: 2019-03-01",
- "enum": [
- "Regular",
- "Low"
- ],
- "x-ms-enum": {
- "name": "VirtualMachinePriorityTypes",
- "modelAsString": true
- }
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machine.
Minimum api-version: 2019-03-01"
},
"evictionPolicy": {
- "type": "string",
- "description": "Specifies the eviction policy for the low priority virtual machine. Only supported value is 'Deallocate'.
Minimum api-version: 2019-03-01",
- "enum": [
- "Deallocate",
- "Delete"
- ],
- "x-ms-enum": {
- "name": "VirtualMachineEvictionPolicyTypes",
- "modelAsString": true
- }
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine. Only supported value is 'Deallocate'.
Minimum api-version: 2019-03-01"
},
"billingProfile": {
"$ref": "#/definitions/BillingProfile",
- "description": "Specifies the billing related details of a low priority virtual machine.
Minimum api-version: 2019-03-01."
+ "description": "Specifies the billing related details of a Azure Spot virtual machine.
Minimum api-version: 2019-03-01."
},
"host": {
"$ref": "#/definitions/SubResource",
@@ -7563,7 +7602,17 @@
],
"x-ms-enum": {
"name": "OperatingSystemTypes",
- "modelAsString": false
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Windows",
+ "description": "Windows OS Type"
+ },
+ {
+ "value": "Linux",
+ "description": "Linux OS Type"
+ }
+ ]
}
},
"osState": {
@@ -7575,7 +7624,17 @@
],
"x-ms-enum": {
"name": "OperatingSystemStateTypes",
- "modelAsString": false
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
}
},
"snapshot": {
@@ -8435,6 +8494,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": {
@@ -8566,32 +8629,16 @@
"description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
},
"priority": {
- "type": "string",
- "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview",
- "enum": [
- "Regular",
- "Low"
- ],
- "x-ms-enum": {
- "name": "VirtualMachinePriorityTypes",
- "modelAsString": true
- }
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview"
},
"evictionPolicy": {
- "type": "string",
- "description": "Specifies the eviction policy for virtual machines in a low priority scale set.
Minimum api-version: 2017-10-30-preview",
- "enum": [
- "Deallocate",
- "Delete"
- ],
- "x-ms-enum": {
- "name": "VirtualMachineEvictionPolicyTypes",
- "modelAsString": true
- }
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for virtual machines in a Azure Spot scale set.
Minimum api-version: 2017-10-30-preview"
},
"billingProfile": {
"$ref": "#/definitions/BillingProfile",
- "description": "Specifies the billing related details of a low priority VMSS.
Minimum api-version: 2019-03-01."
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
},
"scheduledEventsProfile": {
"$ref": "#/definitions/ScheduledEventsProfile",
@@ -8643,6 +8690,10 @@
"$ref": "#/definitions/UpgradePolicy",
"description": "The upgrade policy."
},
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
"virtualMachineProfile": {
"$ref": "#/definitions/VirtualMachineScaleSetVMProfile",
"description": "The virtual machine profile."
@@ -8699,6 +8750,10 @@
"$ref": "#/definitions/UpgradePolicy",
"description": "The upgrade policy."
},
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
"virtualMachineProfile": {
"$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile",
"description": "The virtual machine profile."
@@ -8707,6 +8762,10 @@
"type": "boolean",
"description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
},
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
"singlePlacementGroup": {
"type": "boolean",
"description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
@@ -8718,6 +8777,10 @@
"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."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..68aa07a0ea3b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
index 055debd6eca4..0b50b88fec63 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
@@ -12,7 +12,8 @@
"osType": "Linux",
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -28,7 +29,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -48,7 +50,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
index edd1a07ae4d8..e6c97d0e3994 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
index 459f8b7bd7b2..d3d0d827e5b5 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": false
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
index 92af3a9511f7..1a7b0dccc0b6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
@@ -29,7 +29,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +55,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
index 5b4cb0efae6d..353e494809c7 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -18,7 +18,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -39,7 +40,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -64,7 +66,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
index 8260512674b4..a9d6a635ce80 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
index d9e8bce3fc5a..1a39b0d86caf 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
index 14322734b054..2ce1651a8a1d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
@@ -39,7 +39,8 @@
},
"storageAccountType": "Standard_LRS"
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "created"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json
index f83d4692138d..d7c2558571ef 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json
@@ -1,40 +1,79 @@
{
"parameters": {
"subscriptionId": "{subscriptionId}",
- "api-version": "2019-03-01"
+ "api-version": "2019-03-01",
+ "$expand": "virtualMachines\\$ref"
},
"responses": {
"200": {
"body": {
"value": [
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
"properties": {
"platformUpdateDomainCount": 5,
- "platformFaultDomainCount": 2
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "centralus",
- "tags": {
- "{tagName}": "{tagValue}"
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
"sku": {
- "name": "Aligned"
+ "name": "Classic"
}
},
{
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
"properties": {
- "platformUpdateDomainCount": 3,
- "platformFaultDomainCount": 2
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
},
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
"type": "Microsoft.Compute/availabilitySets",
- "location": "westus",
+ "location": "westcentralus",
"tags": {
"{tagName}": "{tagValue}"
},
- "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
- "name": "{availabilitySetName}",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
"sku": {
"name": "Classic"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..4b09489a0bf1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandGet.json
index 2ee8c2c1f551..79c85f111f2f 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandGet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandGet.json
@@ -19,12 +19,12 @@
{
"name": "arg1",
"type": "string",
- "value": "value1"
+ "defaultValue": "value1"
},
{
"name": "arg2",
"type": "string",
- "value": "value2"
+ "defaultValue": "value2"
}
],
"$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandList.json
index ca6d8a7a5247..07c17bc67543 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandList.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/VirtualMachineRunCommandList.json
@@ -9,70 +9,70 @@
"body": {
"value": [
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableRemotePS",
"osType": "Windows",
"label": "Enable remote PowerShell",
"description": "Configure the machine to enable remote PowerShell."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "IPConfig",
"osType": "Windows",
"label": "List IP configuration",
"description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunPowerShellScript",
"osType": "Windows",
"label": "Executes a PowerShell script",
"description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RunShellScript",
"osType": "Linux",
"label": "Executes a Linux shell script",
"description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ifconfig",
"osType": "Linux",
"label": "List network configuration",
"description": "Get the configuration of all network interfaces."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "EnableAdminAccount",
"osType": "Windows",
"label": "Enable administrator account",
"description": "Checks if the local Administrator account is disabled, and if so enables it."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetAccountPassword",
"osType": "Windows",
"label": "Reset built-in Administrator account password",
"description": "Reset built-in Administrator account password."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "RDPSettings",
"osType": "Windows",
"label": "Verify RDP Listener Settings",
"description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "SetRDPPort",
"osType": "Windows",
"label": "Set Remote Desktop port",
"description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
},
{
- "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
"id": "ResetRDPCert",
"osType": "Windows",
"label": "Restore RDP Authentication mode to defaults",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json
new file mode 100644
index 000000000000..1b040438586a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-04-01",
+ "$filter": "location eq 'westus'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "virtualMachines",
+ "locations": [
+ "westus"
+ ],
+ "capabilities": [
+ {
+ "name": "MaxResourceVolumeMB",
+ "value": "20480"
+ },
+ {
+ "name": "OSVhdSizeMB",
+ "value": "1047552"
+ },
+ {
+ "name": "vCPUs",
+ "value": "1"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "0.75"
+ },
+ {
+ "name": "MaxDataDiskCount",
+ "value": "1"
+ },
+ {
+ "name": "LowPriorityCapable",
+ "value": "False"
+ },
+ {
+ "name": "PremiumIO",
+ "value": "False"
+ },
+ {
+ "name": "vCPUsAvailable",
+ "value": "1"
+ },
+ {
+ "name": "ACUs",
+ "value": "50"
+ },
+ {
+ "name": "vCPUsPerCore",
+ "value": "1"
+ },
+ {
+ "name": "EphemeralOSDiskSupported",
+ "value": "False"
+ },
+ {
+ "name": "AcceleratedNetworkingEnabled",
+ "value": "False"
+ },
+ {
+ "name": "RdmaEnabled",
+ "value": "False"
+ },
+ {
+ "name": "MaxNetworkInterfaces",
+ "value": "2"
+ }
+ ],
+ "locationInfo": [
+ {
+ "location": "westus",
+ "zones": [
+ "westus-AZ01"
+ ],
+ "zoneDetails": [
+ {
+ "name": [
+ "westus-AZ01"
+ ],
+ "capabilities": [
+ {
+ "name": "UltraSSDAvailable",
+ "value": "True"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "name": "Standard_A0",
+ "tier": "Standard",
+ "size": "A0",
+ "family": "standardA0_A7Family"
+ },
+ {
+ "resourceType": "virtualMachines",
+ "locations": [
+ "westus"
+ ],
+ "capabilities": [
+ {
+ "name": "MaxResourceVolumeMB",
+ "value": "71680"
+ },
+ {
+ "name": "OSVhdSizeMB",
+ "value": "1047552"
+ },
+ {
+ "name": "vCPUs",
+ "value": "1"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "1.75"
+ },
+ {
+ "name": "MaxDataDiskCount",
+ "value": "2"
+ },
+ {
+ "name": "LowPriorityCapable",
+ "value": "True"
+ },
+ {
+ "name": "PremiumIO",
+ "value": "False"
+ },
+ {
+ "name": "vCPUsAvailable",
+ "value": "1"
+ },
+ {
+ "name": "ACUs",
+ "value": "100"
+ },
+ {
+ "name": "vCPUsPerCore",
+ "value": "1"
+ },
+ {
+ "name": "EphemeralOSDiskSupported",
+ "value": "False"
+ },
+ {
+ "name": "AcceleratedNetworkingEnabled",
+ "value": "False"
+ },
+ {
+ "name": "RdmaEnabled",
+ "value": "False"
+ },
+ {
+ "name": "MaxNetworkInterfaces",
+ "value": "2"
+ }
+ ],
+ "locationInfo": [
+ {
+ "location": "westus",
+ "zones": [
+ "westus-AZ02",
+ "westus-AZ01"
+ ]
+ }
+ ],
+ "name": "Standard_A1",
+ "tier": "Standard",
+ "size": "A1",
+ "family": "standardA0_A7Family"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
index 7012927a8fd3..e579007e9eaa 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
@@ -48,6 +48,13 @@
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
}
],
"responses": {
@@ -64,6 +71,9 @@
"x-ms-examples": {
"Lists all available Resource SKUs": {
"$ref": "./examples/ListAvailableResourceSkus.json"
+ },
+ "Lists all available Resource SKUs for the specified region": {
+ "$ref": "./examples/ListAvailableResourceSkusForARegion.json"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
new file mode 100644
index 000000000000..eeb80123a696
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
@@ -0,0 +1,10432 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ComputeManagementClient",
+ "description": "The Compute Management Client.",
+ "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.Compute/operations": {
+ "get": {
+ "tags": [
+ "ComputeOperations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ComputeOperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}": {
+ "put": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_CreateOrUpdate",
+ "description": "Create or update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "Parameters supplied to the Create Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an availability set.": {
+ "$ref": "./examples/CreateAnAvailabilitySet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Update",
+ "description": "Update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetUpdate"
+ },
+ "description": "Parameters supplied to the Update Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Delete",
+ "description": "Delete an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Get",
+ "description": "Retrieves information about an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListBySubscription",
+ "description": "Lists all availability sets in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_List",
+ "description": "Lists all availability sets in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": {
+ "put": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_CreateOrUpdate",
+ "description": "Create or update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "Parameters supplied to the Create Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a proximity placement group.": {
+ "$ref": "./examples/CreateOrUpdateAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Update",
+ "description": "Update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/PatchAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Delete",
+ "description": "Delete a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/DeleteAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Get",
+ "description": "Retrieves information about a proximity placement group .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "includeColocationStatus",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/GetAProximityPlacementGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListBySubscription",
+ "description": "Lists all proximity placement groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListByResourceGroup",
+ "description": "Lists all proximity placement groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInAResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}": {
+ "put": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_CreateOrUpdate",
+ "description": "Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596)",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host Group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host group.": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHostGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Update",
+ "description": "Update an dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Delete",
+ "description": "Delete a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Get",
+ "description": "Retrieves information about a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a dedicated host group.": {
+ "$ref": "./examples/GetADedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListByResourceGroup",
+ "description": "Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListBySubscription",
+ "description": "Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts/{hostName}": {
+ "put": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_CreateOrUpdate",
+ "description": "Create or update a dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host .": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHost.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Update",
+ "description": "Update an dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Delete",
+ "description": "Delete a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Get",
+ "description": "Retrieves information about a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a dedicated host.": {
+ "$ref": "./examples/GetADedicatedHost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts": {
+ "get": {
+ "tags": [
+ "DedicatedHost"
+ ],
+ "operationId": "DedicatedHosts_ListByHostGroup",
+ "description": "Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response to get the next page of dedicated hosts.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_Get",
+ "description": "Gets a virtual machine extension image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListTypes",
+ "description": "Gets a list of virtual machine extension image types.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListVersions",
+ "description": "Gets a list of virtual machine extension image versions.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineExtensionImage"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be created or updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Update",
+ "description": "The operation to update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be deleted."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_List",
+ "description": "The operation to get all extensions of a Virtual Machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_Get",
+ "description": "Gets a virtual machine image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU version."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_List",
+ "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineImageResource"
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListOffers",
+ "description": "Gets a list of virtual machine image offers for the specified location and publisher.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListPublishers",
+ "description": "Gets a list of virtual machine image publishers for the specified Azure location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListSkus",
+ "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usage"
+ ],
+ "operationId": "Usage_List",
+ "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListByLocation",
+ "description": "Gets all the virtual machines under the specified subscription for the specified location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which virtual machines under the subscription are queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all the virtual machines under the specified subscription for the specified location.": {
+ "$ref": "./examples/ListVirtualMachinesInASubscriptionByLocation.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachineSizes"
+ ],
+ "operationId": "VirtualMachineSizes_List",
+ "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list)",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": {
+ "put": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_CreateOrUpdate",
+ "description": "Create or update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "Parameters supplied to the Create Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from a blob with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromABlobWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a snapshot with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a managed disk with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Update",
+ "description": "Update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUpdate"
+ },
+ "description": "Parameters supplied to the Update Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Delete",
+ "description": "Deletes an Image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Get",
+ "description": "Gets an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_ListByResourceGroup",
+ "description": "Gets the list of images under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_List",
+ "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Capture",
+ "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureParameters"
+ },
+ "description": "Parameters supplied to the Capture Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": {
+ "put": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_CreateOrUpdate",
+ "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a vm with password authentication.": {
+ "$ref": "./examples/CreateAVmWithPasswordAuthentication.json"
+ },
+ "Create a vm with ssh authentication.": {
+ "$ref": "./examples/CreateAVmWithSshAuthentication.json"
+ },
+ "Create a vm with premium storage.": {
+ "$ref": "./examples/CreateAVmWithPremiumStorage.json"
+ },
+ "Create a vm in an availability set.": {
+ "$ref": "./examples/CreateAVmInAnAvailabilitySet.json"
+ },
+ "Create a vm with boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithBootDiagnostics.json"
+ },
+ "Create a vm with empty data disks.": {
+ "$ref": "./examples/CreateAVmWithEmptyDataDisks.json"
+ },
+ "Create a vm with a marketplace image plan.": {
+ "$ref": "./examples/CreateAVmWithAMarketplaceImagePlan.json"
+ },
+ "Create a vm from a custom image.": {
+ "$ref": "./examples/CreateAVmFromACustomImage.json"
+ },
+ "Create a platform-image vm with unmanaged os and data disks.": {
+ "$ref": "./examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json"
+ },
+ "Create a custom-image vm from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a vm with ephemeral os disk.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDisk.json"
+ },
+ "Create a vm with DiskEncryptionSet resource id in the os disk and data disk.": {
+ "$ref": "./examples/CreateAVmWithDiskEncryptionSetResource.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Update",
+ "description": "The operation to update a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a VM by detaching data disk": {
+ "$ref": "./examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Delete",
+ "description": "The operation to delete a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Get",
+ "description": "Retrieves information about the model view or the instance view of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Virtual Machine.": {
+ "$ref": "./examples/GetVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_InstanceView",
+ "description": "Retrieves information about the run-time state of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstanceView"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Virtual Machine Instance View.": {
+ "$ref": "./examples/GetVirtualMachineInstanceView.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ConvertToManagedDisks",
+ "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Deallocate",
+ "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Generalize",
+ "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource).
For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image).",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Generalize a Virtual Machine.": {
+ "$ref": "./examples/GeneralizeVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_List",
+ "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAll",
+ "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "statusOnly",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "statusOnly=true enables fetching run time status of all Virtual Machines in the subscription."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Lists all available virtual machine sizes to which the specified virtual machine can be resized": {
+ "$ref": "./examples/ListAvailableVmSizes_VirtualMachines.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PowerOff",
+ "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reapply",
+ "description": "The operation to reapply a virtual machine's state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reapply the state of a virtual machine.": {
+ "$ref": "./examples/ReapplyVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Restart",
+ "description": "The operation to restart a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Start",
+ "description": "The operation to start a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Redeploy",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reimage",
+ "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ },
+ "description": "Parameters supplied to the Reimage Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reimage a Virtual Machine.": {
+ "$ref": "./examples/ReimageVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PerformMaintenance",
+ "description": "The operation to perform maintenance on a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_CreateOrUpdate",
+ "description": "Create or update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a scale set with password authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithPasswordAuthentication.json"
+ },
+ "Create a scale set with ssh authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithSshAuthentication.json"
+ },
+ "Create a scale set with premium storage.": {
+ "$ref": "./examples/CreateAScaleSetWithPremiumStorage.json"
+ },
+ "Create a scale set with empty data disks on each vm.": {
+ "$ref": "./examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json"
+ },
+ "Create a scale set with an azure load balancer.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureLoadBalancer.json"
+ },
+ "Create a scale set with an azure application gateway.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureApplicationGateway.json"
+ },
+ "Create a scale set with boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json"
+ },
+ "Create a scale set with a marketplace image plan.": {
+ "$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json"
+ },
+ "Create a scale set from a custom image.": {
+ "$ref": "./examples/CreateAScaleSetFromACustomImage.json"
+ },
+ "Create a platform-image scale set with unmanaged os disks.": {
+ "$ref": "./examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json"
+ },
+ "Create a custom-image scale set from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a scale set with virtual machines in different zones.": {
+ "$ref": "./examples/CreateAScaleSetWithVMsInDifferentZones.json"
+ },
+ "Create a scale set with ephemeral os disks.": {
+ "$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json"
+ },
+ "Create a scale set with terminate scheduled events enabled.": {
+ "$ref": "./examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json"
+ },
+ "Create a scale set with automatic repairs enabled": {
+ "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json"
+ },
+ "Create a scale set with DiskEncryptionSet resource in os disk and data disk.": {
+ "$ref": "./examples/CreateAScalesetWithDiskEncryptionSetResource.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Update",
+ "description": "Update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdate"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Delete",
+ "description": "Deletes a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Get",
+ "description": "Display information about a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Deallocate",
+ "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_DeleteInstances",
+ "description": "Deletes virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetInstanceView",
+ "description": "Gets the status of a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceView"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_List",
+ "description": "Gets a list of all VM scale sets under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate",
+ "description": "The operation to create or update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "Parameters supplied to the Create VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Update",
+ "description": "The operation to update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be deleted."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_List",
+ "description": "Gets a list of all extensions in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListAll",
+ "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListSkus",
+ "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory",
+ "description": "Gets list of OS upgrades on a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PowerOff",
+ "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Restart",
+ "description": "Restarts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Start",
+ "description": "Starts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Redeploy",
+ "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",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PerformMaintenance",
+ "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_UpdateInstances",
+ "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Reimage",
+ "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmScaleSetReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters"
+ },
+ "description": "Parameters for Reimaging VM ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ReimageAll",
+ "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel",
+ "description": "Cancels the current virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade",
+ "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade",
+ "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start an extension rolling upgrade.": {
+ "$ref": "./examples/VMScaleSetExtensionRollingUpgrade.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest",
+ "description": "Gets the status of the latest virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RollingUpgradeStatusInfo"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk",
+ "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "platformUpdateDomain",
+ "in": "query",
+ "required": true,
+ "type": "integer",
+ "description": "The platform update domain for which a manual recovery walk is requested"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryWalkResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
+ "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VMScaleSetConvertToSinglePlacementGroupInput"
+ },
+ "description": "The input object for ConvertToSinglePlacementGroup API."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Update",
+ "description": "The operation to update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/UpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Delete",
+ "description": "The operation to delete the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/DeleteVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Get",
+ "description": "The operation to get the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_List",
+ "description": "The operation to get all extensions of an instance in Virtual Machine Scaleset.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List extensions in Vmss instance.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Reimage",
+ "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmScaleSetVMReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ },
+ "description": "Parameters for the Reimaging Virtual machine in ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_ReimageAll",
+ "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Deallocate",
+ "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Update",
+ "description": "Updates a virtual machine of a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Delete",
+ "description": "Deletes a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Get",
+ "description": "Gets a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_GetInstanceView",
+ "description": "Gets the status of a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_List",
+ "description": "Gets a list of all virtual machines in a VM scale sets.",
+ "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 VM scale set."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The list parameters."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PowerOff",
+ "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Restart",
+ "description": "Restarts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Start",
+ "description": "Starts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Redeploy",
+ "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",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance",
+ "description": "Performs maintenance on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportRequestRateByInterval",
+ "x-ms-examples": {
+ "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": {
+ "$ref": "./examples/LogAnalyticsRequestRateByInterval.json"
+ }
+ },
+ "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RequestRateByIntervalInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportThrottledRequests",
+ "x-ms-examples": {
+ "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": {
+ "$ref": "./examples/LogAnalyticsThrottledRequests.json"
+ }
+ },
+ "description": "Export logs that show total throttled Api requests for this subscription in the given time window.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThrottledRequestsInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComputeOperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ComputeOperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "ComputeOperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ComputeOperationValueDisplay"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "ComputeOperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "HyperVGenerationType": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationTypes",
+ "modelAsString": true
+ }
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "AvailabilitySetProperties": {
+ "properties": {
+ "platformUpdateDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Update Domain count."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "A list of references to all virtual machines in the availability set."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the availability set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "statuses": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a resource."
+ },
+ "AvailabilitySetSkuType": {
+ "type": "string",
+ "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.",
+ "enum": [
+ "Classic",
+ "Aligned"
+ ],
+ "x-ms-enum": {
+ "name": "AvailabilitySetSkuTypes",
+ "modelAsString": true
+ }
+ },
+ "AvailabilitySet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "AvailabilitySetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated."
+ },
+ "AvailabilitySetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "The list of availability sets"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Availability Set operation response."
+ },
+ "SubResourceWithColocationStatus": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of a resource in the Proximity Placement Group."
+ }
+ }
+ },
+ "ProximityPlacementGroupProperties": {
+ "properties": {
+ "proximityPlacementGroupType": {
+ "type": "string",
+ "description": "Specifies the type of the proximity placement group.
Possible values are:
**Standard** : Co-locate resources within an Azure region or Availability Zone.
**Ultra** : For future use.",
+ "enum": [
+ "Standard",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ProximityPlacementGroupType",
+ "modelAsString": true
+ }
+ },
+ "virtualMachines": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machines in the proximity placement group."
+ },
+ "virtualMachineScaleSets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machine scale sets in the proximity placement group."
+ },
+ "availabilitySets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all availability sets in the proximity placement group."
+ },
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of the Proximity Placement Group."
+ }
+ },
+ "description": "Describes the properties of a Proximity Placement Group."
+ },
+ "ProximityPlacementGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProximityPlacementGroupProperties",
+ "description": "Describes the properties of a Proximity Placement Group."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupUpdate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "The list of proximity placement groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of proximity placement groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Proximity Placement Group operation response."
+ },
+ "DedicatedHostGroupProperties": {
+ "properties": {
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 3,
+ "description": "Number of fault domains that the host group can span."
+ },
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all dedicated hosts in the dedicated host group."
+ }
+ },
+ "required": [
+ "platformFaultDomainCount"
+ ],
+ "description": "Dedicated Host Group Properties."
+ },
+ "DedicatedHostGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated hosts should be assigned to.
Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group."
+ },
+ "DedicatedHostGroupUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated."
+ },
+ "DedicatedHostGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "The list of dedicated host groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Dedicated Host Group with resource group response."
+ },
+ "DedicatedHostLicenseType": {
+ "type": "string",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**",
+ "enum": [
+ "None",
+ "Windows_Server_Hybrid",
+ "Windows_Server_Perpetual"
+ ],
+ "x-ms-enum": {
+ "name": "DedicatedHostLicenseTypes",
+ "modelAsString": false
+ }
+ },
+ "DedicatedHostAllocatableVM": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "VM size in terms of which the unutilized capacity is represented."
+ },
+ "count": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity."
+ }
+ },
+ "description": "Represents the dedicated host unutilized capacity in terms of a specific VM size."
+ },
+ "DedicatedHostAvailableCapacity": {
+ "properties": {
+ "allocatableVMs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostAllocatableVM"
+ },
+ "description": "The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host."
+ }
+ },
+ "description": "Dedicated host unutilized capacity."
+ },
+ "DedicatedHostInstanceView": {
+ "properties": {
+ "assetId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the unique id of the dedicated physical machine on which the dedicated host resides."
+ },
+ "availableCapacity": {
+ "$ref": "#/definitions/DedicatedHostAvailableCapacity",
+ "description": "Unutilized capacity of the dedicated host."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a dedicated host."
+ },
+ "DedicatedHostProperties": {
+ "properties": {
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 2,
+ "description": "Fault domain of the dedicated host within a dedicated host group."
+ },
+ "autoReplaceOnFailure": {
+ "type": "boolean",
+ "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided."
+ },
+ "hostId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique id generated and assigned to the dedicated host by the platform.
Does not change throughout the lifetime of the host."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all virtual machines in the Dedicated Host."
+ },
+ "licenseType": {
+ "$ref": "#/definitions/DedicatedHostLicenseType",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**"
+ },
+ "provisioningTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the host was first provisioned."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host instance view."
+ }
+ },
+ "description": "Properties of the dedicated host."
+ },
+ "DedicatedHost": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ],
+ "description": "Specifies information about the Dedicated host."
+ },
+ "DedicatedHostUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated."
+ },
+ "DedicatedHostListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "The list of dedicated hosts"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list dedicated host operation response."
+ },
+ "VirtualMachineSize": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the virtual machine size."
+ },
+ "numberOfCores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of cores supported by the virtual machine size."
+ },
+ "osDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The OS disk size, in MB, allowed by the virtual machine size."
+ },
+ "resourceDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The resource disk size, in MB, allowed by the virtual machine size."
+ },
+ "memoryInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The amount of memory, in MB, supported by the virtual machine size."
+ },
+ "maxDataDiskCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of data disks that can be attached to the virtual machine size."
+ }
+ },
+ "description": "Describes the properties of a VM size."
+ },
+ "VirtualMachineSizeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineSize"
+ },
+ "description": "The list of virtual machine sizes."
+ }
+ },
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineExtensionImageProperties": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system this extension supports."
+ },
+ "computeRole": {
+ "type": "string",
+ "description": "The type of role (IaaS or PaaS) this extension supports."
+ },
+ "handlerSchema": {
+ "type": "string",
+ "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema."
+ },
+ "vmScaleSetEnabled": {
+ "type": "boolean",
+ "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS."
+ },
+ "supportsMultipleExtensions": {
+ "type": "boolean",
+ "description": "Whether the handler can support multiple extensions."
+ }
+ },
+ "required": [
+ "operatingSystem",
+ "computeRole",
+ "handlerSchema"
+ ],
+ "description": "Describes the properties of a Virtual Machine Extension Image."
+ },
+ "VirtualMachineExtensionImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension Image."
+ },
+ "VirtualMachineImageResource": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)."
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Virtual machine image resource information."
+ },
+ "VirtualMachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The virtual machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "substatuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine extension."
+ },
+ "VirtualMachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView",
+ "description": "The virtual machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The list of extensions"
+ }
+ },
+ "description": "The List Extension operation response"
+ },
+ "PurchasePlan": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "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."
+ }
+ },
+ "required": [
+ "publisher",
+ "name",
+ "product"
+ ],
+ "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace."
+ },
+ "OSDiskImage": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system of the osDiskImage.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "operatingSystem"
+ ],
+ "description": "Contains the os disk image information."
+ },
+ "DataDiskImage": {
+ "properties": {
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Contains the data disk images information."
+ },
+ "AutomaticOSUpgradeProperties": {
+ "properties": {
+ "automaticOSUpgradeSupported": {
+ "type": "boolean",
+ "description": "Specifies whether automatic OS upgrade is supported on the image."
+ }
+ },
+ "required": [
+ "automaticOSUpgradeSupported"
+ ],
+ "description": "Describes automatic OS upgrade properties on the image."
+ },
+ "VirtualMachineImageProperties": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/PurchasePlan"
+ },
+ "osDiskImage": {
+ "$ref": "#/definitions/OSDiskImage"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImage"
+ }
+ },
+ "automaticOSUpgradeProperties": {
+ "$ref": "#/definitions/AutomaticOSUpgradeProperties"
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType"
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Image."
+ },
+ "VirtualMachineImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Image."
+ },
+ "UsageName": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The localized name of the resource."
+ }
+ },
+ "description": "The Usage Names."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of usage measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": false
+ }
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The current usage of the resource."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes Compute Resource Usage."
+ },
+ "ListUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of compute resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Usages operation response."
+ },
+ "VirtualMachineReimageParameters": {
+ "properties": {
+ "tempDisk": {
+ "type": "boolean",
+ "description": "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk."
+ }
+ },
+ "description": "Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged"
+ },
+ "VirtualMachineCaptureParameters": {
+ "properties": {
+ "vhdPrefix": {
+ "type": "string",
+ "description": "The captured virtual hard disk's name prefix."
+ },
+ "destinationContainerName": {
+ "type": "string",
+ "description": "The destination container name."
+ },
+ "overwriteVhds": {
+ "type": "boolean",
+ "description": "Specifies whether to overwrite the destination virtual hard disk, in case of conflict."
+ }
+ },
+ "required": [
+ "vhdPrefix",
+ "destinationContainerName",
+ "overwriteVhds"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "VirtualMachineCaptureResult": {
+ "properties": {
+ "$schema": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the schema of the captured virtual machine"
+ },
+ "contentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the version of the content"
+ },
+ "parameters": {
+ "readOnly": true,
+ "type": "object",
+ "description": "parameters of the captured virtual machine"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "resource item"
+ },
+ "description": "a list of resource items of the captured virtual machine"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Output of virtual machine capture operation."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher 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."
+ }
+ },
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)",
+ "enum": [
+ "Basic_A0",
+ "Basic_A1",
+ "Basic_A2",
+ "Basic_A3",
+ "Basic_A4",
+ "Standard_A0",
+ "Standard_A1",
+ "Standard_A2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A9",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2_v2",
+ "Standard_A4_v2",
+ "Standard_A8_v2",
+ "Standard_A2m_v2",
+ "Standard_A4m_v2",
+ "Standard_A8m_v2",
+ "Standard_B1s",
+ "Standard_B1ms",
+ "Standard_B2s",
+ "Standard_B2ms",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D2",
+ "Standard_D3",
+ "Standard_D4",
+ "Standard_D11",
+ "Standard_D12",
+ "Standard_D13",
+ "Standard_D14",
+ "Standard_D1_v2",
+ "Standard_D2_v2",
+ "Standard_D3_v2",
+ "Standard_D4_v2",
+ "Standard_D5_v2",
+ "Standard_D2_v3",
+ "Standard_D4_v3",
+ "Standard_D8_v3",
+ "Standard_D16_v3",
+ "Standard_D32_v3",
+ "Standard_D64_v3",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_D64s_v3",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_D15_v2",
+ "Standard_DS1",
+ "Standard_DS2",
+ "Standard_DS3",
+ "Standard_DS4",
+ "Standard_DS11",
+ "Standard_DS12",
+ "Standard_DS13",
+ "Standard_DS14",
+ "Standard_DS1_v2",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS11_v2",
+ "Standard_DS12_v2",
+ "Standard_DS13_v2",
+ "Standard_DS14_v2",
+ "Standard_DS15_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13-2_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14-4_v2",
+ "Standard_E2_v3",
+ "Standard_E4_v3",
+ "Standard_E8_v3",
+ "Standard_E16_v3",
+ "Standard_E32_v3",
+ "Standard_E64_v3",
+ "Standard_E2s_v3",
+ "Standard_E4s_v3",
+ "Standard_E8s_v3",
+ "Standard_E16s_v3",
+ "Standard_E32s_v3",
+ "Standard_E64s_v3",
+ "Standard_E32-16_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_F1",
+ "Standard_F2",
+ "Standard_F4",
+ "Standard_F8",
+ "Standard_F16",
+ "Standard_F1s",
+ "Standard_F2s",
+ "Standard_F4s",
+ "Standard_F8s",
+ "Standard_F16s",
+ "Standard_F2s_v2",
+ "Standard_F4s_v2",
+ "Standard_F8s_v2",
+ "Standard_F16s_v2",
+ "Standard_F32s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS5",
+ "Standard_GS4-8",
+ "Standard_GS4-4",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H8",
+ "Standard_H16",
+ "Standard_H8m",
+ "Standard_H16m",
+ "Standard_H16r",
+ "Standard_H16mr",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_M64s",
+ "Standard_M64ms",
+ "Standard_M128s",
+ "Standard_M128ms",
+ "Standard_M64-32ms",
+ "Standard_M64-16ms",
+ "Standard_M128-64ms",
+ "Standard_M128-32ms",
+ "Standard_NC6",
+ "Standard_NC12",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC6s_v2",
+ "Standard_NC12s_v2",
+ "Standard_NC24s_v2",
+ "Standard_NC24rs_v2",
+ "Standard_NC6s_v3",
+ "Standard_NC12s_v3",
+ "Standard_NC24s_v3",
+ "Standard_NC24rs_v3",
+ "Standard_ND6s",
+ "Standard_ND12s",
+ "Standard_ND24s",
+ "Standard_ND24rs",
+ "Standard_NV6",
+ "Standard_NV12",
+ "Standard_NV24"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineSizeTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "ImageReference": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The image publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available."
+ },
+ "exactVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "KeyVaultSecretReference": {
+ "properties": {
+ "secretUrl": {
+ "type": "string",
+ "description": "The URL referencing a secret in a Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the secret."
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Secret"
+ },
+ "DiskEncryptionSetParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.
NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details."
+ },
+ "KeyVaultKeyReference": {
+ "properties": {
+ "keyUrl": {
+ "type": "string",
+ "description": "The URL referencing a key encryption key in Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the key."
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Key"
+ },
+ "DiskEncryptionSettings": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultSecretReference",
+ "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultKeyReference",
+ "description": "Specifies the location of the key encryption key in Key Vault."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether disk encryption should be enabled on the virtual machine."
+ }
+ },
+ "description": "Describes a Encryption Settings for a Disk"
+ },
+ "VirtualHardDisk": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "Specifies the virtual hard disk's uri."
+ }
+ },
+ "description": "Describes the uri of a disk."
+ },
+ "Caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "CreateOption": {
+ "type": "string",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.",
+ "enum": [
+ "FromImage",
+ "Empty",
+ "Attach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountTypes",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskOption": {
+ "type": "string",
+ "description": "Specifies the ephemeral disk option for operating system disk.",
+ "enum": [
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskOptions",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskSettings": {
+ "properties": {
+ "option": {
+ "$ref": "#/definitions/DiffDiskOption",
+ "description": "Specifies the ephemeral disk settings for operating system disk."
+ }
+ },
+ "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.
NOTE: The ephemeral disk settings can only be specified for managed disk."
+ },
+ "ManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "The parameters of a managed disk."
+ },
+ "OSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/DiskEncryptionSettings",
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "DataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ },
+ "toBeDetached": {
+ "type": "boolean",
+ "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a data disk."
+ },
+ "StorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ }
+ },
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "AdditionalCapabilities": {
+ "properties": {
+ "ultraSSDEnabled": {
+ "type": "boolean",
+ "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled."
+ }
+ },
+ "description": "Enables or disables a capability on the virtual machine or virtual machine scale set."
+ },
+ "AdditionalUnattendContent": {
+ "properties": {
+ "passName": {
+ "type": "string",
+ "description": "The pass name. Currently, the only allowable value is OobeSystem.",
+ "enum": [
+ "OobeSystem"
+ ],
+ "x-ms-enum": {
+ "name": "PassNames",
+ "modelAsString": false
+ }
+ },
+ "componentName": {
+ "type": "string",
+ "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.",
+ "enum": [
+ "Microsoft-Windows-Shell-Setup"
+ ],
+ "x-ms-enum": {
+ "name": "ComponentNames",
+ "modelAsString": false
+ }
+ },
+ "settingName": {
+ "type": "string",
+ "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.",
+ "enum": [
+ "AutoLogon",
+ "FirstLogonCommands"
+ ],
+ "x-ms-enum": {
+ "name": "SettingNames",
+ "modelAsString": false
+ }
+ },
+ "content": {
+ "type": "string",
+ "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted."
+ }
+ },
+ "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied."
+ },
+ "WinRMListener": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "Specifies the protocol of WinRM listener.
Possible values are:
**http**
**https**",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ProtocolTypes",
+ "modelAsString": false
+ }
+ },
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ }
+ },
+ "description": "Describes Protocol and thumbprint of Windows Remote Management listener"
+ },
+ "WinRMConfiguration": {
+ "properties": {
+ "listeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WinRMListener"
+ },
+ "description": "The list of Windows Remote Management listeners"
+ }
+ },
+ "description": "Describes Windows Remote Management configuration of the VM"
+ },
+ "WindowsConfiguration": {
+ "properties": {
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ },
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.
For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".
Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)."
+ },
+ "additionalUnattendContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalUnattendContent"
+ },
+ "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup."
+ },
+ "winRM": {
+ "$ref": "#/definitions/WinRMConfiguration",
+ "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell."
+ }
+ },
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "SshPublicKey": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys"
+ },
+ "keyData": {
+ "type": "string",
+ "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.
For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ }
+ },
+ "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed."
+ },
+ "SshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH configuration for Linux based VMs running on Azure"
+ },
+ "LinuxConfiguration": {
+ "properties": {
+ "disablePasswordAuthentication": {
+ "type": "boolean",
+ "description": "Specifies whether password authentication should be disabled."
+ },
+ "ssh": {
+ "$ref": "#/definitions/SshConfiguration",
+ "description": "Specifies the ssh key configuration for a Linux OS."
+ },
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ }
+ },
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "VaultCertificate": {
+ "properties": {
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ },
+ "certificateStore": {
+ "type": "string",
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
+ }
+ },
+ "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
+ },
+ "VaultSecretGroup": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates."
+ },
+ "vaultCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultCertificate"
+ },
+ "description": "The list of key vault references in SourceVault which contain certificates."
+ }
+ },
+ "description": "Describes a set of certificates which are all in the same Key Vault."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
**Note: Do not pass any secrets or passwords in customData property**
This property cannot be updated after the VM is created.
customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)
For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machine."
+ },
+ "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 to infer provision success of the virtual machine."
+ }
+ },
+ "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "AutomaticRepairsPolicy": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
+ }
+ },
+ "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
+ },
+ "NetworkInterfaceReferenceProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ }
+ },
+ "description": "Describes a network interface reference properties."
+ },
+ "NetworkInterfaceReference": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceReferenceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a network interface reference."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceReference"
+ },
+ "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine."
+ }
+ },
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "BootDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether boot diagnostics should be enabled on the Virtual Machine."
+ },
+ "storageUri": {
+ "type": "string",
+ "description": "Uri of the storage account to use for placing the console output and screenshot."
+ }
+ },
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "DiagnosticsProfile": {
+ "properties": {
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnostics",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ }
+ },
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "priority": {
+ "type": "string",
+ "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.
'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.",
+ "enum": [
+ "Regular",
+ "Low",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachinePriorityTypes",
+ "modelAsString": true
+ }
+ },
+ "evictionPolicy": {
+ "type": "string",
+ "description": "Specifies the eviction policy for the Azure Spot VM/VMSS",
+ "enum": [
+ "Deallocate",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineEvictionPolicyTypes",
+ "modelAsString": true
+ }
+ },
+ "BillingProfile": {
+ "properties": {
+ "maxPrice": {
+ "type": "number",
+ "format": "double",
+ "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.
The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.
Possible values are:
- Any decimal value greater than zero. Example: 0.01538
-1 – indicates default price to be up-to on-demand.
You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.
Minimum api-version: 2019-03-01."
+ }
+ },
+ "description": "Specifies the billing related details of a Azure Spot VM or VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "VirtualMachineExtensionHandlerInstanceView": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The extension handler status."
+ }
+ },
+ "description": "The instance view of a virtual machine extension handler."
+ },
+ "VirtualMachineAgentInstanceView": {
+ "properties": {
+ "vmAgentVersion": {
+ "type": "string",
+ "description": "The VM Agent full version."
+ },
+ "extensionHandlers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionHandlerInstanceView"
+ },
+ "description": "The virtual machine extension handler instance view."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the VM Agent running on the virtual machine."
+ },
+ "DiskInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSettings"
+ },
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the disk."
+ },
+ "BootDiagnosticsInstanceView": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The console screenshot blob URI."
+ },
+ "serialConsoleLogBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Linux serial console log blob Uri."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The boot diagnostics status information for the VM.
NOTE: It will be set only if there are errors encountered in enabling boot diagnostics."
+ }
+ },
+ "description": "The instance view of a virtual machine boot diagnostics."
+ },
+ "VirtualMachineIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine. 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 the Virtual Machine. 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 virtual machine."
+ },
+ "MaintenanceRedeployStatus": {
+ "properties": {
+ "isCustomerInitiatedMaintenanceAllowed": {
+ "type": "boolean",
+ "description": "True, if customer is allowed to perform Maintenance."
+ },
+ "preMaintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Pre Maintenance Window."
+ },
+ "preMaintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Pre Maintenance Window."
+ },
+ "maintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Maintenance Window."
+ },
+ "maintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Maintenance Window."
+ },
+ "lastOperationResultCode": {
+ "type": "string",
+ "description": "The Last Maintenance Operation Result Code.",
+ "enum": [
+ "None",
+ "RetryLater",
+ "MaintenanceAborted",
+ "MaintenanceCompleted"
+ ],
+ "x-ms-enum": {
+ "name": "MaintenanceOperationResultCodeTypes",
+ "modelAsString": false
+ }
+ },
+ "lastOperationMessage": {
+ "type": "string",
+ "description": "Message returned for the last Maintenance Operation."
+ }
+ },
+ "description": "Maintenance Operation Status."
+ },
+ "VirtualMachineInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the update domain of the virtual machine."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the fault domain of the virtual machine."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "The computer name assigned to the virtual machine."
+ },
+ "osName": {
+ "type": "string",
+ "description": "The Operating System running on the virtual machine."
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of Operating System running on the virtual machine."
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type associated with a resource",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationType",
+ "modelAsString": true
+ }
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The virtual machine disk information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine."
+ },
+ "VirtualMachineProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference."
+ },
+ "virtualMachineScaleSet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.
This property cannot exist along with a non-null properties.availabilitySet reference.
Minimum api‐version: 2019‐03‐01"
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machine.
Minimum api-version: 2019-03-01"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot virtual machine.
Minimum api-version: 2019-03-01."
+ },
+ "host": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host that the virtual machine resides in.
Minimum api-version: 2018-10-01."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine."
+ },
+ "VirtualMachine": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine."
+ },
+ "VirtualMachineUpdate": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Update."
+ },
+ "VirtualMachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "The list of virtual machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch the next page of Virtual Machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set sku."
+ },
+ "AutomaticOSUpgradePolicy": {
+ "properties": {
+ "enableAutomaticOSUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.
If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true."
+ },
+ "disableAutomaticRollback": {
+ "type": "boolean",
+ "description": "Whether OS image rollback feature should be disabled. Default value is false."
+ }
+ },
+ "description": "The configuration parameters used for performing automatic OS upgrade."
+ },
+ "UpgradePolicy": {
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Specifies the mode of an upgrade to virtual machines in the scale set.
Possible values are:
**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.
**Automatic** - All virtual machines in the scale set are automatically updated at the same time.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "Rolling"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeMode",
+ "modelAsString": false
+ }
+ },
+ "rollingUpgradePolicy": {
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The configuration parameters used while performing a rolling upgrade."
+ },
+ "automaticOSUpgradePolicy": {
+ "$ref": "#/definitions/AutomaticOSUpgradePolicy",
+ "description": "Configuration parameters used for performing automatic OS Upgrade."
+ }
+ },
+ "description": "Describes an upgrade policy - automatic, manual, or rolling."
+ },
+ "RollingUpgradePolicy": {
+ "properties": {
+ "maxBatchInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyUpgradedInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%."
+ },
+ "pauseTimeBetweenBatches": {
+ "type": "string",
+ "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)."
+ }
+ },
+ "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": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "description": "The OS State.",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemStateTypes",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "osType",
+ "osState"
+ ],
+ "description": "Describes an Operating System disk."
+ },
+ "ImageDataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "lun"
+ ],
+ "description": "Describes a data disk."
+ },
+ "ImageDisk": {
+ "properties": {
+ "snapshot": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The snapshot."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The managedDisk."
+ },
+ "blobUri": {
+ "type": "string",
+ "description": "The Virtual Hard Disk."
+ },
+ "caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed image disk."
+ }
+ },
+ "description": "Describes a image disk."
+ },
+ "ImageStorageProfile": {
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/ImageOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "zoneResilient": {
+ "type": "boolean",
+ "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)."
+ }
+ },
+ "description": "Describes a storage profile."
+ },
+ "ImageProperties": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The source virtual machine from which Image is created."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ImageStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state."
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType",
+ "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image"
+ }
+ },
+ "description": "Describes the properties of an Image."
+ },
+ "Image": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "ImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. Only tags may be updated."
+ },
+ "ImageListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "The list of Images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Images. Call ListNext() with this to fetch the next page of Images."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Image operation response."
+ },
+ "VirtualMachineScaleSetIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine scale set. 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 scale set.",
+ "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 the virtual machine scale set. 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 virtual machine scale set."
+ },
+ "VirtualMachineScaleSetOSProfile": {
+ "properties": {
+ "computerNamePrefix": {
+ "type": "string",
+ "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetUpdateOSProfile": {
+ "properties": {
+ "customData": {
+ "type": "string",
+ "description": "A base-64 encoded string of custom data."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "The Windows Configuration of the OS profile."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "The Linux Configuration of the OS profile."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "The List of certificates for addition to the VM."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "description": "Describes the parameters of a ScaleSet managed disk."
+ },
+ "VirtualMachineScaleSetOSDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machines in the scale set should be created.
The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "Specifies information about the unmanaged user image to base the scale set on."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies the container urls that are used to store operating system disks for the scale set."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set operating system disk."
+ },
+ "VirtualMachineScaleSetUpdateOSDisk": {
+ "properties": {
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "The caching type."
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of virtual hard disk container uris."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "description": "Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk."
+ },
+ "VirtualMachineScaleSetDataDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "The create option."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set data disk."
+ },
+ "VirtualMachineScaleSetStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "VirtualMachineScaleSetUpdateStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "The image reference."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSDisk",
+ "description": "The OS disk."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "The data disks."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "ApiEntityReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
+ }
+ },
+ "description": "The API entity reference."
+ },
+ "VirtualMachineScaleSetIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Specifies the identifier of the subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer"
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetUpdateIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "The subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary IP Configuration in case the network interface has more than one IP Configuration."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The application gateway backend address pools."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer backend address pools."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer inbound nat pools."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration"
+ },
+ "description": "Specifies the IP configurations of the network interface."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ }
+ },
+ "required": [
+ "ipConfigurations"
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Whether this is a primary NIC on a virtual machine."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfiguration"
+ },
+ "description": "The virtual machine scale set IP Configuration."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ }
+ },
+ "description": "Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration."
+ },
+ "VirtualMachineScaleSetNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetNetworkConfigurationDnsSettings": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses"
+ }
+ },
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created"
+ }
+ },
+ "required": [
+ "domainNameLabel"
+ ],
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetIpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "IP tag associated with the public IP. Example: SQL, Storage etc."
+ }
+ },
+ "description": "Contains the IP tag associated with the public IP address."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties"
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIpTag"
+ },
+ "description": "The list of IP tags associated with the public IP address."
+ },
+ "publicIPPrefix": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The PublicIPPrefix from which to allocate publicIP addresses."
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetNetworkProfile": {
+ "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": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "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": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "VirtualMachineScaleSetExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "provisionAfterExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Collection of extension names after which this extension needs to be provisioned."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtension": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionUpdate": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The list of VM scale set extensions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of VM scale set extensions. Call ListNext() with this to fetch the next page of VM scale set extensions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List VM scale set extension operation response."
+ },
+ "VirtualMachineScaleSetExtensionProfile": {
+ "properties": {
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The virtual machine scale set child extension resources."
+ }
+ },
+ "description": "Describes a virtual machine scale set extension profile."
+ },
+ "VirtualMachineScaleSetVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSProfile",
+ "description": "Specifies the operating system settings for the virtual machines in the scale set."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile",
+ "description": "Specifies properties of the network interfaces of the virtual machines in the scale set."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetUpdateVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSProfile",
+ "description": "The virtual machine scale set OS profile."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateStorageProfile",
+ "description": "The virtual machine scale set storage profile."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile",
+ "description": "The virtual machine scale set network profile."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "The virtual machine scale set diagnostics profile."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "The virtual machine scale set extension profile."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "The license type, which is for bring your own license scenario."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "uniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the ID which uniquely identifies a Virtual Machine Scale Set."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
+ },
+ "zoneBalance": {
+ "type": "boolean",
+ "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count for each placement group."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "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."
+ },
+ "VirtualMachineScaleSetUpdateProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
+ },
+ "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."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSet": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMReimageParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetReimageParameters": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetUpdate": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMInstanceIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineScaleSetVMInstanceRequiredIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids."
+ }
+ },
+ "required": [
+ "instanceIds"
+ ],
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineStatusCodeCount": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The instance view status code."
+ },
+ "count": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances having a particular status code."
+ }
+ },
+ "description": "The status code and count of the virtual machine scale set instance view status summary."
+ },
+ "VirtualMachineScaleSetInstanceViewStatusesSummary": {
+ "properties": {
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Instance view statuses summary for virtual machines of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetVMExtensionsSummary": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The extension name."
+ },
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Extensions summary for virtual machines of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetInstanceView": {
+ "properties": {
+ "virtualMachine": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceViewStatusesSummary",
+ "readOnly": true,
+ "description": "The instance view status summary for the virtual machine scale set."
+ },
+ "extensions": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsSummary"
+ },
+ "description": "The extensions information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of VMSS."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetListWithLinkResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of Virtual Machine Scale Sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum capacity that can be set."
+ },
+ "defaultCapacity": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "Automatic",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetSkuScaleType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes scaling information of a sku."
+ },
+ "VirtualMachineScaleSetSku": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the sku applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The Sku."
+ },
+ "capacity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes an available virtual machine scale set sku."
+ },
+ "VirtualMachineScaleSetListSkusResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSku"
+ },
+ "description": "The list of skus available for the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set Skus. Call ListNext() with this to fetch the next page of VMSS Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Virtual Machine Scale Set List Skus operation response."
+ },
+ "RollbackStatusInfo": {
+ "properties": {
+ "successfullyRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which have been successfully rolled back."
+ },
+ "failedRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which failed to rollback."
+ },
+ "rollbackError": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error details if OS rollback failed."
+ }
+ },
+ "description": "Information about rollback on failed VM instances after a OS Upgrade operation."
+ },
+ "UpgradeOperationHistoryStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeState",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "UpgradeOperationHistoricalStatusInfoProperties": {
+ "properties": {
+ "runningStatus": {
+ "$ref": "#/definitions/UpgradeOperationHistoryStatus",
+ "readOnly": true,
+ "description": "Information about the overall status of the upgrade operation."
+ },
+ "progress": {
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "readOnly": true,
+ "description": "Counts of the VMs in each state."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error Details for this upgrade if there are any."
+ },
+ "startedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Invoker of the Upgrade Operation",
+ "enum": [
+ "Unknown",
+ "User",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeOperationInvoker",
+ "modelAsString": false
+ }
+ },
+ "targetImageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "readOnly": true,
+ "description": "Image Reference details"
+ },
+ "rollbackInfo": {
+ "$ref": "#/definitions/RollbackStatusInfo",
+ "readOnly": true,
+ "description": "Information about OS rollback if performed"
+ }
+ },
+ "description": "Describes each OS upgrade on the Virtual Machine Scale Set."
+ },
+ "UpgradeOperationHistoricalStatusInfo": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfoProperties",
+ "readOnly": true,
+ "description": "Information about the properties of the upgrade operation."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ }
+ },
+ "description": "Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetListOSUpgradeHistory": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfo"
+ },
+ "description": "The list of OS upgrades performed on the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of OS Upgrade History. Call ListNext() with this to fetch the next page of history of upgrades."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "List of Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetVMProperties": {
+ "properties": {
+ "latestModelApplied": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Specifies whether the latest model has been applied to the virtual machine."
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure VM unique ID."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the virtual machine."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "networkProfileConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration",
+ "description": "Specifies the network profile configuration of the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "modelDefinitionApplied": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine."
+ },
+ "protectionPolicy": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy",
+ "description": "Specifies the protection policy of the virtual machine."
+ }
+ },
+ "description": "Describes the properties of a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVM": {
+ "properties": {
+ "instanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual machine instance ID."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The virtual machine SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProperties"
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "zones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVMInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Update Domain count."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Fault Domain count."
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The disks information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "vmHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineHealthStatus",
+ "description": "The health status for the VM."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set VM."
+ },
+ "VirtualMachineScaleSetVMNetworkProfileConfiguration": {
+ "properties": {
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set VM network profile."
+ },
+ "VirtualMachineScaleSetVMProtectionPolicy": {
+ "properties": {
+ "protectFromScaleIn": {
+ "type": "boolean",
+ "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation."
+ },
+ "protectFromScaleSetActions": {
+ "type": "boolean",
+ "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM."
+ }
+ },
+ "description": "The protection policy of a virtual machine scale set VM."
+ },
+ "ScheduledEventsProfile": {
+ "type": "object",
+ "properties": {
+ "terminateNotificationProfile": {
+ "$ref": "#/definitions/TerminateNotificationProfile",
+ "description": "Specifies Terminate Scheduled Event related configurations."
+ }
+ }
+ },
+ "TerminateNotificationProfile": {
+ "type": "object",
+ "properties": {
+ "notBeforeTimeout": {
+ "type": "string",
+ "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)"
+ },
+ "enable": {
+ "type": "boolean",
+ "description": "Specifies whether the Terminate Scheduled event is enabled or disabled."
+ }
+ }
+ },
+ "VirtualMachineHealthStatus": {
+ "properties": {
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The health status information for the VM."
+ }
+ },
+ "description": "The health status of the VM."
+ },
+ "VirtualMachineScaleSetVMListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "The list of virtual machine scale sets VMs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set VMs. Call ListNext() with this to fetch the next page of VMSS VMs"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine Scale Set VMs operation response."
+ },
+ "RollingUpgradeStatusInfo": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RollingUpgradeStatusInfoProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeStatusInfoProperties": {
+ "properties": {
+ "policy": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The rolling upgrade policies applied for this upgrade."
+ },
+ "runningStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeRunningStatus",
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "progress": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApiError",
+ "description": "Error details for this upgrade, if there are any."
+ }
+ },
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeRunningStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeStatusCode",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "lastAction": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last action performed on the rolling upgrade.",
+ "enum": [
+ "Start",
+ "Cancel"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeActionType",
+ "modelAsString": false
+ }
+ },
+ "lastActionTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last action time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "RollingUpgradeProgressInfo": {
+ "properties": {
+ "successfulInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have been successfully upgraded."
+ },
+ "failedInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have failed to be upgraded successfully."
+ },
+ "inProgressInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that are currently being upgraded."
+ },
+ "pendingInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have not yet begun to be upgraded."
+ }
+ },
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SubResourceReadOnly": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "RecoveryWalkResponse": {
+ "properties": {
+ "walkPerformed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the recovery walk was performed"
+ },
+ "nextPlatformUpdateDomain": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The next update domain that needs to be walked. Null means walk spanning all update domains has been completed"
+ }
+ },
+ "description": "Response after calling a manual recovery walk"
+ },
+ "RequestRateByIntervalInput": {
+ "properties": {
+ "intervalLength": {
+ "type": "string",
+ "description": "Interval value in minutes used to create LogAnalytics call rate logs.",
+ "enum": [
+ "ThreeMins",
+ "FiveMins",
+ "ThirtyMins",
+ "SixtyMins"
+ ],
+ "x-ms-enum": {
+ "name": "IntervalInMins",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "intervalLength"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getRequestRateByInterval Api."
+ },
+ "ThrottledRequestsInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getThrottledRequests Api."
+ },
+ "LogAnalyticsInputBase": {
+ "properties": {
+ "blobContainerSasUri": {
+ "type": "string",
+ "description": "SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to."
+ },
+ "fromTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "From time of the query"
+ },
+ "toTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "To time of the query"
+ },
+ "groupByThrottlePolicy": {
+ "type": "boolean",
+ "description": "Group query result by Throttle Policy applied."
+ },
+ "groupByOperationName": {
+ "type": "boolean",
+ "description": "Group query result by Operation Name."
+ },
+ "groupByResourceName": {
+ "type": "boolean",
+ "description": "Group query result by Resource Name."
+ }
+ },
+ "required": [
+ "blobContainerSasUri",
+ "fromTime",
+ "toTime"
+ ],
+ "description": "Api input base class for LogAnalytics Api."
+ },
+ "LogAnalyticsOperationResult": {
+ "properties": {
+ "properties": {
+ "readOnly": true,
+ "$ref": "#/definitions/LogAnalyticsOutput",
+ "description": "LogAnalyticsOutput"
+ }
+ },
+ "description": "LogAnalytics operation status response"
+ },
+ "LogAnalyticsOutput": {
+ "properties": {
+ "output": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Output file Uri path to blob container."
+ }
+ },
+ "description": "LogAnalytics output properties"
+ },
+ "VMScaleSetConvertToSinglePlacementGroupInput": {
+ "properties": {
+ "activePlacementGroupId": {
+ "type": "string",
+ "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json
new file mode 100644
index 000000000000..508b04311d46
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json
@@ -0,0 +1,1952 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "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.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ },
+ "Create a managed upload disk.": {
+ "$ref": "./examples/CreateAManagedUploadDisk.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Update",
+ "description": "Updates (patches) a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskUpdate"
+ },
+ "description": "Disk object supplied in the body of the Patch disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Gets information about a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Delete",
+ "description": "Deletes a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_ListByResourceGroup",
+ "description": "Lists all the disks under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Lists all the disks under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_GrantAccess",
+ "description": "Grants access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_RevokeAccess",
+ "description": "Revokes access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "description": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "description": "Updates (patches) a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SnapshotUpdate"
+ },
+ "description": "Snapshot object supplied in the body of the Patch snapshot operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "description": "Gets information about a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "description": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the snapshot is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "description": "Lists snapshots under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "description": "Lists snapshots under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_GrantAccess",
+ "description": "Grants access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get snapshot access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RevokeAccess",
+ "description": "Revokes access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": {
+ "put": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_CreateOrUpdate",
+ "description": "Creates or updates a disk encryption set",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "disk encryption set object supplied in the body of the Put disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a disk encryption set.": {
+ "$ref": "./examples/CreateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Update",
+ "description": "Updates (patches) a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetUpdate"
+ },
+ "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk encryption set.": {
+ "$ref": "./examples/UpdateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Get",
+ "description": "Gets information about a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk encryption set.": {
+ "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Delete",
+ "description": "Deletes a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk encryption set is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk encryption set.": {
+ "$ref": "./examples/DeleteADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListByResourceGroup",
+ "description": "Lists all the disk encryption sets under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a resource group.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_List",
+ "description": "Lists all the disk encryption sets under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a subscription.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Logical zone list for Disk."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads."
+ },
+ {
+ "value": "StandardSSD_LRS",
+ "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test."
+ },
+ {
+ "value": "UltraSSD_LRS",
+ "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads."
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage"
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage"
+ },
+ {
+ "value": "Standard_ZRS",
+ "description": "Standard zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS."
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskState": {
+ "type": "string",
+ "description": "The state of the disk.",
+ "readOnly": true,
+ "enum": [
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "ActiveSAS",
+ "ReadyToUpload",
+ "ActiveUpload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unattached",
+ "description": "The disk is not being used and can be attached to a VM."
+ },
+ {
+ "value": "Attached",
+ "description": "The disk is currently mounted to a running VM."
+ },
+ {
+ "value": "Reserved",
+ "description": "The disk is mounted to a stopped-deallocated VM"
+ },
+ {
+ "value": "ActiveSAS",
+ "description": "The disk currently has an Active SAS Uri associated with it."
+ },
+ {
+ "value": "ReadyToUpload",
+ "description": "A disk is ready to be created by upload by requesting a write token."
+ },
+ {
+ "value": "ActiveUpload",
+ "description": "A disk is created for upload and a write token has been issued for uploading to it."
+ }
+ ]
+ }
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Disk resource properties."
+ },
+ "SnapshotProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "incremental": {
+ "type": "boolean",
+ "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Snapshot resource properties."
+ },
+ "EncryptionSetProperties": {
+ "properties": {
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "The key vault key which is currently used by this disk encryption set."
+ },
+ "previousKeys": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ },
+ "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk encryption set provisioning state."
+ }
+ }
+ },
+ "EncryptionSettingsCollection": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionSettingsElement"
+ },
+ "description": "A collection of encryption settings, one for each disk volume."
+ },
+ "encryptionSettingsVersion": {
+ "type": "string",
+ "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Encryption settings for disk or snapshot"
+ },
+ "EncryptionSettingsElement": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndSecretReference",
+ "description": "Key Vault Secret Url and vault id of the disk encryption key"
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key."
+ }
+ },
+ "description": "Encryption settings for one disk volume."
+ },
+ "KeyVaultAndSecretReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "secretUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Secret Url and vault id of the encryption key "
+ },
+ "KeyVaultAndKeyReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "Encryption": {
+ "properties": {
+ "diskEncryptionSetId": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithPlatformKey",
+ "EncryptionAtRestWithCustomerKey"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithPlatformKey",
+ "description": "Disk is encrypted with XStore managed key at rest. It is the default encryption type."
+ },
+ {
+ "value": "EncryptionAtRestWithCustomerKey",
+ "description": "Disk is encrypted with Customer managed key at rest."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Encryption at rest settings for disk or snapshot"
+ },
+ "DiskUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "description": "Disk resource update properties."
+ },
+ "SnapshotUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "DiskEncryptionSetUpdateProperties": {
+ "properties": {
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ }
+ },
+ "description": "disk encryption set resource update properties."
+ },
+ "CreationData": {
+ "properties": {
+ "createOption": {
+ "type": "string",
+ "enum": [
+ "Empty",
+ "Attach",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "Upload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOption",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Empty",
+ "description": "Create an empty data disk of a size given by diskSizeGB."
+ },
+ {
+ "value": "Attach",
+ "description": "Disk will be attached to a VM."
+ },
+ {
+ "value": "FromImage",
+ "description": "Create a new disk from a platform image specified by the given imageReference."
+ },
+ {
+ "value": "Import",
+ "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId."
+ },
+ {
+ "value": "Copy",
+ "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId."
+ },
+ {
+ "value": "Restore",
+ "description": "Create a new disk by copying from a backup recovery point."
+ },
+ {
+ "value": "Upload",
+ "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk."
+ }
+ ]
+ },
+ "description": "This enumerates the possible sources of a disk's creation."
+ },
+ "storageAccountId": {
+ "type": "string",
+ "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk."
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Disk source information."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk."
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk."
+ },
+ "sourceUniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "If this field is set, this is the unique id identifying the source of this resource."
+ },
+ "uploadSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Data used when creating a disk."
+ },
+ "ImageDiskReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A relative uri containing either a Platform Image Repository or user image reference."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The source image used for creating the disk."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "required": [
+ "access",
+ "durationInSeconds"
+ ],
+ "description": "Data used for requesting a SAS."
+ },
+ "AccessUri": {
+ "properties": {
+ "accessSAS": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A SAS uri for accessing a disk."
+ }
+ },
+ "description": "A disk access SAS uri."
+ },
+ "Snapshot": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unused. Always Null."
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation response."
+ },
+ "EncryptionSetIdentity": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetIdentityType",
+ "modelAsString": true
+ },
+ "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ }
+ },
+ "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks."
+ },
+ "DiskEncryptionSet": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EncryptionSetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk encryption set resource."
+ },
+ "DiskEncryptionSetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskEncryptionSetUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "disk encryption set update resource."
+ },
+ "DiskEncryptionSetList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "A list of disk encryption sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk encryption set operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskEncryptionSetNameParameter": {
+ "name": "diskEncryptionSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..46c90a6dacec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..0cfc745615f9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "osType": "Windows",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ }
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateADiskEncryptionSet.json
new file mode 100644
index 000000000000..cf0f403d3086
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateADiskEncryptionSet.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..a8c9f5ff9adf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..b44f596c8fb6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..58a6d7af3c92
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..b2e22fa5975e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..9ca47d0a1429
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk2",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedUploadDisk.json
new file mode 100644
index 000000000000..998666f7ed65
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAManagedUploadDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
new file mode 100644
index 000000000000..220b0bdf6695
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "osDisk",
+ "vhdContainers": [
+ "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"
+ ]
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
new file mode 100644
index 000000000000..7d0338300cee
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk0.vhd"
+ }
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk1.vhd"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetFromACustomImage.json
new file mode 100644
index 000000000000..25e6989304f6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetFromACustomImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..98a86b68924a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
new file mode 100644
index 000000000000..788cb0980fd4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
new file mode 100644
index 000000000000..0bbb9bfc658f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ },
+ "publicIPAddressConfiguration": {
+ "name": "{vmss-name}",
+ "properties": {
+ "publicIPAddressVersion": "IPv4"
+ }
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..6791548f32e7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithBootDiagnostics.json
new file mode 100644
index 000000000000..ff3381b48947
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithBootDiagnostics.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithDiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithDiffOsDisk.json
new file mode 100644
index 000000000000..18304f85e883
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithDiffOsDisk.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
new file mode 100644
index 000000000000..a5dc69acfe5a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
@@ -0,0 +1,270 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPasswordAuthentication.json
new file mode 100644
index 000000000000..209950e4b1b3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPasswordAuthentication.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPremiumStorage.json
new file mode 100644
index 000000000000..0d43febd86fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithPremiumStorage.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithSshAuthentication.json
new file mode 100644
index 000000000000..b8912565a8ab
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithSshAuthentication.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
new file mode 100644
index 000000000000..b2afe164e36b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithVMsInDifferentZones.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
new file mode 100644
index 000000000000..6bd73fbae2f0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
@@ -0,0 +1,284 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "location": "centralus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ }
+ },
+ "zones": [
+ "1",
+ "3"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Creating"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..c1461518d4d5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
@@ -0,0 +1,255 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..201cdd1711d6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..a58c83032c32
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..33a1e75795bc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmFromACustomImage.json
new file mode 100644
index 000000000000..dd4aeadff6d9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmFromACustomImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmInAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmInAnAvailabilitySet.json
new file mode 100644
index 000000000000..6bca5a058837
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmInAnAvailabilitySet.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/{existing-availability-set-name}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithADiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithADiffOsDisk.json
new file mode 100644
index 000000000000..2303001c813d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithADiffOsDisk.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..26c4a9d6680a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithAMarketplaceImagePlan.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithBootDiagnostics.json
new file mode 100644
index 000000000000..325fddd66658
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithBootDiagnostics.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..acd36925567b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithDiskEncryptionSetResource.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskencryptionset-name}"
+ }
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithEmptyDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithEmptyDataDisks.json
new file mode 100644
index 000000000000..46bfda2b77af
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithEmptyDataDisks.json
@@ -0,0 +1,205 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPasswordAuthentication.json
new file mode 100644
index 000000000000..cdc2fb319f3b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPasswordAuthentication.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPremiumStorage.json
new file mode 100644
index 000000000000..9e56529d4ab8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithPremiumStorage.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithSshAuthentication.json
new file mode 100644
index 000000000000..cc5dcc09b2cf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAVmWithSshAuthentication.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "{image_sku}",
+ "publisher": "{image_publisher}",
+ "version": "latest",
+ "offer": "{image_offer}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnAvailabilitySet.json
new file mode 100644
index 000000000000..0b034a17a888
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnAvailabilitySet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "availabilitySetName": "myAvailabilitySet",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Classic"
+ },
+ "name": "myAvailabilitySet",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/availabilitySets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..8cffe4653a4c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json
new file mode 100644
index 000000000000..978e18726499
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..3536694c5a4a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "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": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json
new file mode 100644
index 000000000000..1183cb4ae11a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "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": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..094a858d799d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "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": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json
new file mode 100644
index 000000000000..3e028823aef1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "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": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..555be69eb392
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "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": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json
new file mode 100644
index 000000000000..991c53007d1d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "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": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100644
index 000000000000..6d1f1192c030
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "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"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100644
index 000000000000..1f497628f145
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100644
index 000000000000..bd24d775f6bd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHost.json
new file mode 100644
index 000000000000..be99526847e4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHost.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "platformFaultDomain": 1
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ },
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myDedicatedHost"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHost",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": false,
+ "licenseType": "Windows_Server_Hybrid",
+ "hostId": "{GUID}"
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "name": "myDedicatedHost",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHostGroup.json
new file mode 100644
index 000000000000..3d4ec8a42903
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateADedicatedHostGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHostGroup",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "hosts": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "hosts": []
+ },
+ "location": "westus",
+ "tags": {
+ "department": "finance",
+ "owner": "myCompany"
+ },
+ "name": "myDedicatedHostGroup",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateAProximityPlacementGroup.json
new file mode 100644
index 000000000000..81e18a1fa387
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateAProximityPlacementGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..9179523838a1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2019-07-01",
+ "extensionParameters": {
+ "location": "westus",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteADiskEncryptionSet.json
new file mode 100644
index 000000000000..a33b02d8bbc9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteADiskEncryptionSet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteAProximityPlacementGroup.json
new file mode 100644
index 000000000000..78c6df17f36c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteAProximityPlacementGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..db6207d8f09a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json
new file mode 100644
index 000000000000..8078bc757ed1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHost.json
new file mode 100644
index 000000000000..0da47da294d4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myHost"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}",
+ "provisioningTime": "2019-06-27T01:02:38.3138469+00:00",
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "name": "myHost"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHostGroup.json
new file mode 100644
index 000000000000..f383d65e8771
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetADedicatedHostGroup.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "hostGroupName": "myDedicatedHostGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "hosts": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost2"
+ }
+ ]
+ },
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "name": "myDedicatedHostGroup",
+ "zones": [
+ "3"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetAProximityPlacementGroup.json
new file mode 100644
index 000000000000..6aa8dad877ec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetAProximityPlacementGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutADiskEncryptionSet.json
new file mode 100644
index 000000000000..86e3fe86147d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutADiskEncryptionSet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..7b81f6786542
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..dbfb784cc43d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json
new file mode 100644
index 000000000000..d6ae6aeb4836
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachine.json
new file mode 100644
index 000000000000..ab3de830d2a4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachine.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/my-AvailabilitySet"
+ },
+ "proximityPlacementGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/my-ppg01"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_DS3_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": [
+ {
+ "lun": 0,
+ "name": "myDataDisk0",
+ "createOption": "Empty",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk0"
+ },
+ "diskSizeGB": 30
+ },
+ {
+ "lun": 1,
+ "name": "myDataDisk1",
+ "createOption": "Attach",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk1"
+ },
+ "diskSizeGB": 100
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true,
+ "storageUri": "http://{myStorageAccount}.blob.core.windows.net"
+ }
+ },
+ "provisioningState": "Succeeded"
+ },
+ "resources": [
+ {
+ "name": "CustomScriptExtension-DSC",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/CustomScriptExtension-DSC",
+ "type": "Microsoft.Compute/virtualMachines/extensions",
+ "location": "west us",
+ "tags": {
+ "displayName": "CustomScriptExtension-DSC"
+ },
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.9",
+ "settings": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineInstanceView.json
new file mode 100644
index 000000000000..962dead238a1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineInstanceView.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 1,
+ "platformFaultDomain": 1,
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2019-10-14T23:11:22+00:00"
+ }
+ ],
+ "extensionHandlers": [
+ {
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "status": {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready"
+ }
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.477089+00:00"
+ }
+ ]
+ },
+ {
+ "name": "myDataDisk0",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.461517+00:00"
+ }
+ ]
+ }
+ ],
+ "bootDiagnostics": {
+ "consoleScreenshotBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.screenshot.bmp",
+ "serialConsoleLogBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.serialconsole.log"
+ },
+ "extensions": [
+ {
+ "name": "IaaSAntiMalware-ext0",
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Microsoft Antimalware enabled"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..19fb1669c966
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json
new file mode 100644
index 000000000000..719e9496ee1e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "api-version": "2019-07-01",
+ "$expand": "virtualMachines\\$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailableVmSizes_VirtualMachines.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailableVmSizes_VirtualMachines.json
new file mode 100644
index 000000000000..80f61a9e8d94
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailableVmSizes_VirtualMachines.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVmName",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_A1_V2",
+ "numberOfCores": 1,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 10240,
+ "memoryInMB": 2048,
+ "maxDataDiskCount": 2
+ },
+ {
+ "name": "Standard_A2_V2",
+ "numberOfCores": 2,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 20480,
+ "memoryInMB": 4096,
+ "maxDataDiskCount": 4
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
new file mode 100644
index 000000000000..765903ddc404
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSet?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInASubscription.json
new file mode 100644
index 000000000000..fa863421fa03
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListDiskEncryptionSetsInASubscription.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSet?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInAResourceGroup.json
new file mode 100644
index 000000000000..1177e32ca71e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInASubscription.json
new file mode 100644
index 000000000000..ed9d8d03c436
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..84c83692e04e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..49e05b8e5583
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
new file mode 100644
index 000000000000..af32461360c5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInASubscription.json
new file mode 100644
index 000000000000..dc6802811c0e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListProximityPlacementGroupsInASubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-07-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..843b2fe788d7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..e833eabfade5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..397a96e2ecaa
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ },
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher1",
+ "type": "extType1",
+ "typeHandlerVersion": "1.0",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension1",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachinesInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
new file mode 100644
index 000000000000..c06c0d7f91d1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "location": "eastus",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ },
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsRequestRateByInterval.json
new file mode 100644
index 000000000000..cfcd632dcc54
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsRequestRateByInterval.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "intervalLength": "FiveMins",
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByResourceName": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsThrottledRequests.json
new file mode 100644
index 000000000000..279212f47003
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/LogAnalyticsThrottledRequests.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByOperationName": true,
+ "groupByResourceName": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/PatchAProximityPlacementGroup.json
new file mode 100644
index 000000000000..68d010c06e70
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/PatchAProximityPlacementGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "tags": {
+ "additionalProp1": "string"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReapplyVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReapplyVirtualMachine.json
new file mode 100644
index 000000000000..2f83ad0708cc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReapplyVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2019-07-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReimageVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReimageVirtualMachine.json
new file mode 100644
index 000000000000..d980861f9fb8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ReimageVirtualMachine.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "vmName": "myVMName",
+ "parameters": {
+ "tempDisk": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateADiskEncryptionSet.json
new file mode 100644
index 000000000000..e6625fbed7ca
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateADiskEncryptionSet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGallery.json
new file mode 100644
index 000000000000..02c4625a01f3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..ecff95197b2a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplication.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..2027cc64296f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..c24dbc6d8898
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImage.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..7a309fe75cad
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..f26d12155db6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
new file mode 100644
index 000000000000..22fb3b3d2ac9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
@@ -0,0 +1,208 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "toBeDetached": true
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..50dc47946f3e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2019-07-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VMScaleSetExtensionRollingUpgrade.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VMScaleSetExtensionRollingUpgrade.json
new file mode 100644
index 000000000000..be4329609574
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VMScaleSetExtensionRollingUpgrade.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommand.json
new file mode 100644
index 000000000000..0d23098c8d67
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommand.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "resourceGroupName": "crptestar98131",
+ "vmName": "vm3036",
+ "$top": 1,
+ "api-version": "2019-07-01",
+ "monitor": "true",
+ "parameters": {
+ "commandId": "RunPowerShellScript"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "This is a sample script with parameters value1 value2"
+ },
+ {
+ "code": "ComponentStatus/StdErr/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandGet.json
new file mode 100644
index 000000000000..1ce41b24b9aa
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "location": "SoutheastAsia",
+ "commandId": "RunPowerShellScript",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "script": [
+ "param(",
+ " [string]$arg1,",
+ " [string]$arg2",
+ ")",
+ "Write-Host This is a sample script with parameters $arg1 $arg2"
+ ],
+ "parameters": [
+ {
+ "name": "arg1",
+ "type": "string",
+ "defaultValue": "value1"
+ },
+ {
+ "name": "arg2",
+ "type": "string",
+ "defaultValue": "value2"
+ }
+ ],
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandList.json
new file mode 100644
index 000000000000..db5580fda698
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/VirtualMachineRunCommandList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "SoutheastAsia",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableRemotePS",
+ "osType": "Windows",
+ "label": "Enable remote PowerShell",
+ "description": "Configure the machine to enable remote PowerShell."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "IPConfig",
+ "osType": "Windows",
+ "label": "List IP configuration",
+ "description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunShellScript",
+ "osType": "Linux",
+ "label": "Executes a Linux shell script",
+ "description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ifconfig",
+ "osType": "Linux",
+ "label": "List network configuration",
+ "description": "Get the configuration of all network interfaces."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableAdminAccount",
+ "osType": "Windows",
+ "label": "Enable administrator account",
+ "description": "Checks if the local Administrator account is disabled, and if so enables it."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetAccountPassword",
+ "osType": "Windows",
+ "label": "Reset built-in Administrator account password",
+ "description": "Reset built-in Administrator account password."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RDPSettings",
+ "osType": "Windows",
+ "label": "Verify RDP Listener Settings",
+ "description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "SetRDPPort",
+ "osType": "Windows",
+ "label": "Set Remote Desktop port",
+ "description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetRDPCert",
+ "osType": "Windows",
+ "label": "Restore RDP Authentication mode to defaults",
+ "description": "Removes the SSL certificate tied to the RDP listener and restores the RDP listerner security to default. Use this script if you see any issues with the certificate."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
index 9af963b8fced..271186b61e9a 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
@@ -101,6 +101,60 @@
}
}
},
+ "patch": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Update",
+ "description": "Update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryUpdate"
+ },
+ "description": "Parameters supplied to the update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery.": {
+ "$ref": "./examples/UpdateASimpleGallery.json"
+ }
+ }
+ },
"get": {
"tags": [
"Galleries"
@@ -268,6 +322,67 @@
}
}
},
+ "patch": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Update",
+ "description": "Update a gallery Image Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageUpdate"
+ },
+ "description": "Parameters supplied to the update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery image.": {
+ "$ref": "./examples/UpdateASimpleGalleryImage.json"
+ }
+ }
+ },
"get": {
"tags": [
"GalleryImages"
@@ -459,6 +574,74 @@
}
}
},
+ "patch": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Update",
+ "description": "Update a gallery Image Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition in which the Image Version is to be updated."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImageVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Image Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple Gallery Image Version (Managed Image as source).": {
+ "$ref": "./examples/UpdateASimpleGalleryImageVersion.json"
+ }
+ }
+ },
"get": {
"tags": [
"GalleryImageVersions"
@@ -674,6 +857,67 @@
}
}
},
+ "patch": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Update",
+ "description": "Update a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be updated."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplication",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplication.json"
+ }
+ }
+ },
"get": {
"tags": [
"GalleryApplications"
@@ -862,6 +1106,74 @@
}
}
},
+ "patch": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Update",
+ "description": "Update a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version is to be updated."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplicationVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application Version.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplicationVersion.json"
+ }
+ }
+ },
"get": {
"tags": [
"GalleryApplicationVersions"
@@ -1307,6 +1619,20 @@
],
"description": "Specifies information about the Shared Image Gallery that you want to create or update."
},
+ "GalleryUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the Shared Image Gallery that you want to update."
+ },
"GalleryProperties": {
"properties": {
"description": {
@@ -1357,6 +1683,20 @@
],
"description": "Specifies information about the gallery Application Definition that you want to create or update."
},
+ "GalleryApplicationUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Definition that you want to update."
+ },
"GalleryApplicationProperties": {
"properties": {
"description": {
@@ -1412,6 +1752,20 @@
],
"description": "Specifies information about the gallery Application Version that you want to create or update."
},
+ "GalleryApplicationVersionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Version that you want to update."
+ },
"GalleryApplicationVersionProperties": {
"properties": {
"publishingProfile": {
@@ -1496,6 +1850,20 @@
],
"description": "Specifies information about the gallery Image Definition that you want to create or update."
},
+ "GalleryImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the gallery Image Definition that you want to update."
+ },
"GalleryImageProperties": {
"properties": {
"description": {
@@ -1680,6 +2048,20 @@
],
"description": "Specifies information about the gallery Image Version that you want to create or update."
},
+ "GalleryImageVersionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the gallery Image Version that you want to update."
+ },
"GalleryImageVersionProperties": {
"properties": {
"publishingProfile": {
@@ -2065,7 +2447,7 @@
"$ref": "#/definitions/ApiError"
}
},
- "description": "An error response from the Gallery service."
+ "description": "An error response from the Compute service."
},
"ApiError": {
"properties": {
@@ -2159,6 +2541,34 @@
"location"
],
"x-ms-azure-resource": true
+ },
+ "UpdateResource": {
+ "description": "The Update 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": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true
}
},
"parameters": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/runCommands.json
new file mode 100644
index 000000000000..c208cfa0a01e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/runCommands.json
@@ -0,0 +1,467 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RunCommandsClient",
+ "description": "The Run Commands Client.",
+ "version": "2019-07-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_List",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandList": {
+ "$ref": "./examples/VirtualMachineRunCommandList.json"
+ }
+ },
+ "description": "Lists all available run commands for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Get",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandGet": {
+ "$ref": "./examples/VirtualMachineRunCommandGet.json"
+ }
+ },
+ "description": "Gets specific run command for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The command id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandDocument"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineRunCommand": {
+ "$ref": "./examples/VirtualMachineRunCommand.json"
+ }
+ },
+ "description": "Run command on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RunCommand",
+ "description": "Run command on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RunCommandInputParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "The run command parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandInput": {
+ "properties": {
+ "commandId": {
+ "type": "string",
+ "description": "The run command id."
+ },
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional. The script to be executed. When this value is given, the given script will override the default script of the command."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The run command parameters."
+ }
+ },
+ "required": [
+ "commandId"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "RunCommandParameterDefinition": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The run command parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "The run command parameter default value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "The run command parameter required.",
+ "default": false
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandDocumentBase": {
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "description": "The VM run command schema."
+ },
+ "id": {
+ "type": "string",
+ "description": "The VM run command id."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "label": {
+ "type": "string",
+ "description": "The VM run command label."
+ },
+ "description": {
+ "type": "string",
+ "description": "The VM run command description."
+ }
+ },
+ "required": [
+ "$schema",
+ "id",
+ "osType",
+ "label",
+ "description"
+ ],
+ "description": "Describes the properties of a Run Command metadata."
+ },
+ "RunCommandDocument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ }
+ ],
+ "properties": {
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The script to be executed."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandParameterDefinition"
+ },
+ "description": "The parameters used by the script."
+ }
+ },
+ "required": [
+ "script"
+ ],
+ "description": "Describes the properties of a Run Command."
+ },
+ "RunCommandListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ },
+ "description": "The list of virtual machine run commands."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "RunCommandResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "Run command operation response."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index 2cd48aec7d6a..7c4552f5e38c 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -12,7 +12,7 @@ go:
```yaml $(go) && $(multiapi)
batch:
- - tag: package-2019-07-01
+ - tag: package-2019-07
- tag: package-2019-03-01
- tag: package-2018-10-01
- tag: package-2018-06
@@ -29,12 +29,12 @@ batch:
- tag: package-container-service-2015-11-preview
```
-### Tag: package-2019-07-01 and go
+### Tag: package-2019-07 and go
-These settings apply only when `--tag=package-2019-07-01 --go` is specified on the command line.
+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-01' && $(go)
+```yaml $(tag)=='package-2019-07' && $(go)
namespace: compute
output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-07-01/$(namespace)
```
diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index 2d93aff01922..814383963dee 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -34,7 +34,7 @@ These are the global settings for the Compute API.
title: ComputeManagementClient
description: Compute Client
openapi-type: arm
-tag: package-2019-07-01
+tag: package-2019-07
directive:
- where:
@@ -134,6 +134,10 @@ directive:
- $.definitions.DedicatedHostUpdate
suppress:
- RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.DiskEncryptionSetParameters
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
- where:
- $.definitions.VirtualMachineScaleSetVM
@@ -155,10 +159,6 @@ directive:
- $.definitions.VirtualMachineImage
suppress:
- TrackedResourcePatchOperation
- - where:
- - $.definitions.VirtualMachineImageResource
- suppress:
- - TrackedResourceGetOperation
- where:
- $.definitions.Gallery
suppress:
@@ -172,13 +172,15 @@ directive:
suppress:
- TrackedResourcePatchOperation
+ - where:
+ - $.definitions.VirtualMachineImageResource
+ suppress:
+ - TrackedResourceGetOperation
- where:
- $.definitions.AdditionalCapabilities.properties.ultraSSDEnabled
suppress:
- DefinitionsPropertiesNamesCamelCase
-
-
- where:
- $.definitions.DiskProperties.properties.diskIOPSReadWrite
suppress:
@@ -187,6 +189,14 @@ directive:
- $.definitions.DiskUpdateProperties.properties.diskIOPSReadWrite
suppress:
- DefinitionsPropertiesNamesCamelCase
+ - where:
+ - $.definitions.DataDisk.properties.diskIOPSReadWrite
+ suppress:
+ - DefinitionsPropertiesNamesCamelCase
+ - where:
+ - $.definitions.VirtualMachineScaleSetDataDisk.properties.diskIOPSReadWrite
+ suppress:
+ - DefinitionsPropertiesNamesCamelCase
- where:
- $.definitions.ContainerService
@@ -196,6 +206,20 @@ directive:
- ACS service is deprecated so a PATCH endpoint won't be implemented
```
+### 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.Compute/stable/2019-07-01/compute.json
+- Microsoft.Compute/stable/2019-07-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2019-07-01/disk.json
+- Microsoft.Compute/stable/2019-07-01/gallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
### Tag: package-2019-07-01
These settings apply only when `--tag=package-2019-07-01` is specified on the command line.
@@ -205,7 +229,7 @@ input-file:
- Microsoft.Compute/stable/2019-03-01/compute.json
- Microsoft.Compute/stable/2019-03-01/runCommands.json
- Microsoft.Compute/stable/2019-04-01/skus.json
-- Microsoft.Compute/stable/2019-03-01/disk.json
+- Microsoft.Compute/stable/2019-07-01/disk.json
- Microsoft.Compute/stable/2019-07-01/gallery.json
- Microsoft.ContainerService/stable/2017-01-31/containerService.json
```
@@ -216,7 +240,10 @@ These settings apply only when `--tag=package-2019-07-01-only` is specified on t
``` yaml $(tag) == 'package-2019-07-01-only'
input-file:
+- Microsoft.Compute/stable/2019-07-01/compute.json
+- Microsoft.Compute/stable/2019-07-01/disk.json
- Microsoft.Compute/stable/2019-07-01/gallery.json
+- Microsoft.Compute/stable/2019-07-01/runCommands.json
```
### Tag: package-2019-03-01
@@ -623,7 +650,7 @@ Please also specify `--azure-libraries-for-java-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: false
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.containerregistry
+ package-name: azure-containerregistry
+ package-version: 0.1.0
+ clear-output-folder: true
+ add-credentials: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/containerregistry/azure-containerregistry/azure/containerregistry
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/containerregistry/azure-containerregistry
+```
\ No newline at end of file
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 3884b88f5aff..0644ab147455 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
@@ -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"
@@ -757,7 +757,7 @@
"type": "string"
},
"name": {
- "description": "The password name \"password\" or \"password2\"",
+ "description": "The password name \"password1\" or \"password2\"",
"enum": [
"password1",
"password2"
@@ -840,11 +840,10 @@
"expiry": {
"format": "date-time",
"description": "The expiry date of the generated credentials after which the credentials become invalid.",
- "default": "9999-12-31T15:59:59.9999999-08:00",
"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 +938,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/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
index f3362eb1fe81..9efa945a01a4 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
@@ -57,7 +57,10 @@
"description": "The request was successfully accepted; the operation will complete asynchronously."
},
"default": {
- "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned."
+ "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -112,7 +115,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-examples": {
@@ -166,7 +172,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed."
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-odata": "#/definitions/RunFilter",
@@ -216,7 +225,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-examples": {
@@ -275,7 +287,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry/build doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned."
+ "description": "Error response describing why the operation failed. If the registry/build doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -322,7 +337,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-examples": {
@@ -368,7 +386,10 @@
"description": "The request was successfully accepted; the operation will complete asynchronously."
},
"default": {
- "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -379,6 +400,277 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/taskRuns/{taskRunName}": {
+ "get": {
+ "tags": [
+ "TaskRuns"
+ ],
+ "description": "Gets the detailed information for a given task run.",
+ "operationId": "TaskRuns_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "taskRunName",
+ "in": "path",
+ "description": "The run request name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TaskRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the registry/run doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TaskRuns_Get": {
+ "$ref": "./examples/TaskRunsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "TaskRuns"
+ ],
+ "description": "Creates a task run for a container registry with the specified parameters.",
+ "operationId": "TaskRuns_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "taskRunName",
+ "in": "path",
+ "description": "The name of task run.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "taskRun",
+ "in": "body",
+ "description": "The parameters of a run that needs to scheduled.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskRun"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TaskRun"
+ }
+ },
+ "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/TaskRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TaskRuns_Create": {
+ "$ref": "./examples/TaskRunsCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TaskRuns"
+ ],
+ "description": "Deletes a specified task run resource.",
+ "operationId": "TaskRuns_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "taskRunName",
+ "in": "path",
+ "description": "The task run name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successfully accepted; 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/ErrorSchema"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TaskRuns_Delete": {
+ "$ref": "./examples/TaskRunsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TaskRuns"
+ ],
+ "description": "Updates a task run with the specified parameters.",
+ "operationId": "TaskRuns_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "taskRunName",
+ "in": "path",
+ "description": "The task run name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateParameters",
+ "in": "body",
+ "description": "The parameters for updating a task run.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskRunUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TaskRun"
+ }
+ },
+ "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/TaskRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TaskRuns_Update": {
+ "$ref": "./examples/TaskRunsUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/taskRuns": {
+ "get": {
+ "tags": [
+ "TaskRuns"
+ ],
+ "description": "Lists all the task runs for a specified container registry.",
+ "operationId": "TaskRuns_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TaskRunListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TaskRuns_List": {
+ "$ref": "./examples/TaskRunsList.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tasks": {
"get": {
"tags": [
@@ -408,7 +700,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed."
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-pageable": {
@@ -453,7 +748,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-examples": {
@@ -508,7 +806,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned."
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -561,7 +862,10 @@
"description": "No Content - the specified resource was not found."
},
"default": {
- "description": "Error response describing why the operation failed."
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -617,7 +921,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned."
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned. If any of the input parameters is wrong, 400(Bad Request) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -669,7 +976,10 @@
}
},
"default": {
- "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned."
+ "description": "Error response describing why the operation failed. If the registry doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorSchema"
+ }
}
},
"x-ms-examples": {
@@ -1116,25 +1426,8 @@
}
}
},
- "TaskListResult": {
- "description": "The collection of tasks.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The collection value.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Task"
- }
- },
- "nextLink": {
- "description": "The URI that can be used to request the next set of paged results.",
- "type": "string"
- }
- }
- },
- "Task": {
- "description": "The task that has the ARM resource and task properties. \r\nThe task will have all information to schedule a run against it.",
+ "TaskRun": {
+ "description": "The task run that has the ARM resource and properties. \r\nThe task run will have the information of request and result of a run.",
"type": "object",
"allOf": [
{
@@ -1147,8 +1440,8 @@
"description": "Identity for the resource."
},
"properties": {
- "$ref": "#/definitions/TaskProperties",
- "description": "The properties of a task.",
+ "$ref": "#/definitions/TaskRunProperties",
+ "description": "The properties associated with the task run, i.e., request and result of the run",
"x-ms-client-flatten": true
}
}
@@ -1188,6 +1481,145 @@
}
}
},
+ "TaskRunProperties": {
+ "description": "The properties of task run.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of this task run",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "runRequest": {
+ "$ref": "#/definitions/RunRequest",
+ "description": "The request (parameters) for the run"
+ },
+ "runResult": {
+ "$ref": "#/definitions/Run",
+ "description": "The result of this task run",
+ "readOnly": true
+ },
+ "forceUpdateTag": {
+ "description": "How the run should be forced to rerun even if the run request configuration has not changed",
+ "type": "string"
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "TaskRunUpdateParameters": {
+ "description": "The parameters for updating a task run.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "Identity for the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/TaskRunPropertiesUpdateParameters",
+ "description": "The properties for updating a task run.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The ARM resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TaskRunPropertiesUpdateParameters": {
+ "description": "The properties of a task run update parameters.",
+ "type": "object",
+ "properties": {
+ "runRequest": {
+ "$ref": "#/definitions/RunRequest",
+ "description": "The request (parameters) for the new run"
+ },
+ "forceUpdateTag": {
+ "description": "How the run should be forced to rerun even if the run request configuration has not changed",
+ "type": "string"
+ }
+ }
+ },
+ "TaskRunListResult": {
+ "description": "The collection of task runs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskRun"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "TaskListResult": {
+ "description": "The collection of tasks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Task"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "Task": {
+ "description": "The task that has the ARM resource and task properties. \r\nThe task will have all information to schedule a run against it.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "Identity for the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/TaskProperties",
+ "description": "The properties of a task.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
"TaskProperties": {
"description": "The properties of a task.",
"required": [
@@ -1261,19 +1693,6 @@
}
}
},
- "UserIdentityProperties": {
- "type": "object",
- "properties": {
- "principalId": {
- "description": "The principal id of user assigned identity.",
- "type": "string"
- },
- "clientId": {
- "description": "The client id of user assigned identity.",
- "type": "string"
- }
- }
- },
"TaskStepProperties": {
"description": "Base properties for any task step.",
"required": [
@@ -2072,6 +2491,32 @@
},
"x-ms-azure-resource": true
},
+ "Error": {
+ "description": "An error response from the Azure Container Registry service.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorSchema": {
+ "description": "An error response from the Azure Container Registry service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Azure container registry build API error body."
+ }
+ }
+ },
"DockerBuildRequest": {
"description": "The parameters for a docker quick build.",
"required": [
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsCreate.json
new file mode 100644
index 000000000000..d3df479742b5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsCreate.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskRunName": "myRun",
+ "taskRun": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "forceUpdateTag": "test",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Creating",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd5",
+ "status": "Queued",
+ "lastUpdatedTime": "2019-09-06T17:23:21+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-06T17:23:21.9261521+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd5",
+ "name": "yd5"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "myrun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Creating",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd5",
+ "status": "Queued",
+ "lastUpdatedTime": "2019-09-06T17:23:21+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-06T17:23:21.9261521+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd5",
+ "name": "yd5"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "myrun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsDelete.json
new file mode 100644
index 000000000000..8bc2ff03a01a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskRunName": "myRun"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsGet.json
new file mode 100644
index 000000000000..756b24ef7dcd
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsGet.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskRunName": "myRun"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd5",
+ "status": "Succeeded",
+ "lastUpdatedTime": "2019-09-06T17:23:29+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-06T17:23:21.9261521+00:00",
+ "startTime": "2019-09-06T17:23:22.1348714+00:00",
+ "finishTime": "2019-09-06T17:23:29.8792157+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/3647315e-0c5b-4ce4-8739-b071e144b2c9/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd5",
+ "name": "yd5"
+ }
+ },
+ "id": "/subscriptions/3647315e-0c5b-4ce4-8739-b071e144b2c9/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "myRun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsList.json
new file mode 100644
index 000000000000..d573ca7e39b4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd4",
+ "status": "Succeeded",
+ "lastUpdatedTime": "2019-09-04T17:15:37+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-04T17:15:29.2278794+00:00",
+ "startTime": "2019-09-04T17:15:29.4589616+00:00",
+ "finishTime": "2019-09-04T17:15:37.0349516+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd4",
+ "name": "yd4"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "mytestrun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsUpdate.json
new file mode 100644
index 000000000000..a629bff26d79
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TaskRunsUpdate.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2019-06-01-preview",
+ "taskRunName": "myRun",
+ "updateParameters": {
+ "properties": {
+ "forceUpdateTag": "test",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Creating",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd6",
+ "status": "Queued",
+ "lastUpdatedTime": "2019-09-06T17:31:34+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-06T17:31:34.1184031+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd6",
+ "name": "yd6"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "mytestrun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.ContainerRegistry/registries/TaskRuns",
+ "properties": {
+ "provisioningState": "Creating",
+ "runRequest": {
+ "type": "EncodedTaskRunRequest",
+ "encodedTaskContent": "c3RlcHM6IAogIC0gY21kOiB7eyAuVmFsdWVzLmNvbW1hbmQgfX0K",
+ "encodedValuesContent": "Y29tbWFuZDogYmFzaCBlY2hvIHt7LlJ1bi5SZWdpc3RyeX19Cg==",
+ "values": [],
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "credentials": {},
+ "isArchiveEnabled": true
+ },
+ "runResult": {
+ "type": "Microsoft.ContainerRegistry/registries/runs",
+ "properties": {
+ "runId": "yd6",
+ "status": "Queued",
+ "lastUpdatedTime": "2019-09-06T17:31:34+00:00",
+ "runType": "QuickRun",
+ "createTime": "2019-09-06T17:31:34.1184031+00:00",
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "provisioningState": "Succeeded",
+ "isArchiveEnabled": true
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/yd6",
+ "name": "yd6"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/taskRuns/myRun",
+ "name": "mytestrun",
+ "tags": {
+ "key": "value"
+ },
+ "location": "WESTUS"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
new file mode 100644
index 000000000000..e13102c59bb0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
@@ -0,0 +1,2593 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01-preview",
+ "title": "ContainerRegistryManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Copies an image to this container registry from the specified container registry.",
+ "operationId": "Registries_ImportImage",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The parameters specifying the image to copy and the source container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportImageParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "ImportImageByTag": {
+ "$ref": "./examples/ImportImageByTag.json"
+ },
+ "ImportImageByManifestDigest": {
+ "$ref": "./examples/ImportImageByManifestDigest.json"
+ },
+ "ImportImageFromPublicRegistry": {
+ "$ref": "./examples/ImportImageFromPublicRegistry.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.",
+ "operationId": "Registries_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "registryNameCheckRequest",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryNameCheckRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryNameStatus"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCheckNameAvailable": {
+ "$ref": "./examples/RegistryCheckNameAvailable.json"
+ },
+ "RegistryCheckNameNotAvailable": {
+ "$ref": "./examples/RegistryCheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ContainerRegistry/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Container Registry REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the properties of the specified container registry.",
+ "operationId": "Registries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGet": {
+ "$ref": "./examples/RegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Creates a container registry with the specified parameters.",
+ "operationId": "Registries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registry",
+ "in": "body",
+ "description": "The parameters for creating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCreate": {
+ "$ref": "./examples/RegistryCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Deletes a container registry.",
+ "operationId": "Registries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "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": "The container registry does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryDelete": {
+ "$ref": "./examples/RegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Updates a container registry with the specified parameters.",
+ "operationId": "Registries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryUpdate": {
+ "$ref": "./examples/RegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified resource group.",
+ "operationId": "Registries_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListByResourceGroup": {
+ "$ref": "./examples/RegistryListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified subscription.",
+ "operationId": "Registries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryList": {
+ "$ref": "./examples/RegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the login credentials for the specified container registry.",
+ "operationId": "Registries_ListCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the list of credentials retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListCredentials": {
+ "$ref": "./examples/RegistryListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Regenerates one of the login credentials for the specified container registry.",
+ "operationId": "Registries_RegenerateCredential",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "regenerateCredentialParameters",
+ "in": "body",
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateCredentialParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the specified credential regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryRegenerateCredential": {
+ "$ref": "./examples/RegistryRegenerateCredential.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the quota usages for the specified container registry.",
+ "operationId": "Registries_ListUsages",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the registry usages retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryUsageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListUsages": {
+ "$ref": "./examples/RegistryListUsages.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Gets the properties of the specified replication.",
+ "operationId": "Replications_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationGet": {
+ "$ref": "./examples/ReplicationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Creates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replication",
+ "in": "body",
+ "description": "The parameters for creating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationCreate": {
+ "$ref": "./examples/ReplicationCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Deletes a replication from a container registry.",
+ "operationId": "Replications_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "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": "The replication does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationDelete": {
+ "$ref": "./examples/ReplicationDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Updates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replicationUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplicationUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationUpdate": {
+ "$ref": "./examples/ReplicationUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Lists all the replications for the specified container registry.",
+ "operationId": "Replications_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ReplicationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationList": {
+ "$ref": "./examples/ReplicationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the properties of the specified webhook.",
+ "operationId": "Webhooks_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGet": {
+ "$ref": "./examples/WebhookGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Creates a webhook for a container registry with the specified parameters.",
+ "operationId": "Webhooks_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookCreateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookCreate": {
+ "$ref": "./examples/WebhookCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Deletes a webhook from a container registry.",
+ "operationId": "Webhooks_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "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": "The webhook does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "WebhookDelete": {
+ "$ref": "./examples/WebhookDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Updates a webhook with the specified parameters.",
+ "operationId": "Webhooks_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookUpdate": {
+ "$ref": "./examples/WebhookUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists all the webhooks for the specified container registry.",
+ "operationId": "Webhooks_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/WebhookListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookList": {
+ "$ref": "./examples/WebhookList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Triggers a ping event to be sent to the webhook.",
+ "operationId": "Webhooks_Ping",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventInfo"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookPing": {
+ "$ref": "./examples/WebhookPing.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the configuration of service URI and custom headers for the webhook.",
+ "operationId": "Webhooks_GetCallbackConfig",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/CallbackConfig"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGetCallbackConfig": {
+ "$ref": "./examples/WebhookGetCallbackConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists recent events for the specified webhook.",
+ "operationId": "Webhooks_ListEvents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookListEvents": {
+ "$ref": "./examples/WebhookListEvents.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ImportImageParameters": {
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportSource",
+ "description": "The source of the image."
+ },
+ "targetTags": {
+ "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "untaggedTargetRepositories": {
+ "description": "List of strings of repository names to do a manifest only copy. No tag will be created.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "mode": {
+ "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.",
+ "default": "NoForce",
+ "enum": [
+ "NoForce",
+ "Force"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImportMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportSource": {
+ "required": [
+ "sourceImage"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource identifier of the source Azure Container Registry.",
+ "type": "string"
+ },
+ "registryUri": {
+ "description": "The address of the source registry (e.g. 'mcr.microsoft.com').",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/ImportSourceCredentials",
+ "description": "Credentials used when importing from a registry uri."
+ },
+ "sourceImage": {
+ "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "string"
+ }
+ }
+ },
+ "ImportSourceCredentials": {
+ "required": [
+ "password"
+ ],
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to authenticate with the source registry.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password used to authenticate with the source registry.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryNameCheckRequest": {
+ "description": "A request to check whether a container registry name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the container registry.",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.",
+ "enum": [
+ "Microsoft.ContainerRegistry/registries"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerRegistryResourceType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryNameStatus": {
+ "description": "The result of a request to check the availability of a container registry name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value that indicates whether the name is available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string"
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of a request to list container registry operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registry operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a container registry operation.",
+ "type": "object",
+ "properties": {
+ "origin": {
+ "description": "The origin information of the container registry operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayDefinition",
+ "description": "The display information for the container registry operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationPropertiesDefinition",
+ "description": "The properties information for the container registry operation.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplayDefinition": {
+ "description": "The display information for a container registry operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.ContainerRegistry.",
+ "type": "string"
+ },
+ "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"
+ }
+ }
+ },
+ "OperationPropertiesDefinition": {
+ "description": "The definition of Azure Monitoring properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationServiceSpecificationDefinition",
+ "description": "The definition of Azure Monitoring service."
+ }
+ }
+ },
+ "OperationServiceSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring list.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "A list of Azure Monitoring metrics definition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecificationDefinition"
+ }
+ }
+ }
+ },
+ "OperationMetricSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring metric.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Metric name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Metric display name.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Metric description.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric unit.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "type": "string"
+ },
+ "internalMetricName": {
+ "description": "Internal metric name.",
+ "type": "string"
+ }
+ }
+ },
+ "Registry": {
+ "description": "An object that represents a container registry.",
+ "required": [
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryProperties",
+ "description": "The properties of the container registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU of a container registry.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The SKU name of the container registry. Required for registry creation.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier based on the SKU name.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IdentityProperties": {
+ "description": "Managed identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "RegistryProperties": {
+ "description": "The properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "loginServer": {
+ "description": "The URL that can be used to log into the container registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of the container registry in ISO8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the container registry at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the container registry at the time the operation was called.",
+ "readOnly": true
+ },
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "storageAccount": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The properties of the storage account for the container registry. Only applicable to Classic SKU."
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Status": {
+ "description": "The status of an Azure resource at the time the operation was called.",
+ "type": "object",
+ "properties": {
+ "displayStatus": {
+ "description": "The short label for the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The detailed message for the status, including alerts and error messages.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the status was changed to the current value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkRuleSet": {
+ "description": "The network rule set for a container registry.",
+ "required": [
+ "defaultAction"
+ ],
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "description": "The default action of allow or deny when no other rules match.",
+ "default": "Allow",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkRules": {
+ "description": "The virtual network rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "ipRules": {
+ "description": "The IP ACL rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ }
+ }
+ }
+ },
+ "Policies": {
+ "description": "The policies for a container registry.",
+ "type": "object",
+ "properties": {
+ "quarantinePolicy": {
+ "$ref": "#/definitions/QuarantinePolicy",
+ "description": "The quarantine policy for a container registry."
+ },
+ "trustPolicy": {
+ "$ref": "#/definitions/TrustPolicy",
+ "description": "The content trust policy for a container registry."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "The retention policy for a container registry."
+ }
+ }
+ },
+ "EncryptionProperty": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "VirtualNetworkRule": {
+ "description": "Virtual network rule.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of virtual network rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.",
+ "type": "string",
+ "x-ms-client-name": "VirtualNetworkResourceId"
+ }
+ }
+ },
+ "IPRule": {
+ "description": "IP rule with specific IP or IP range in CIDR format.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of IP ACL rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.",
+ "type": "string",
+ "x-ms-client-name": "IPAddressOrRange"
+ }
+ }
+ },
+ "QuarantinePolicy": {
+ "description": "The quarantine policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TrustPolicy": {
+ "description": "The content trust policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of trust policy.",
+ "default": "Notary",
+ "enum": [
+ "Notary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrustPolicyType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "The retention policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "days": {
+ "format": "int32",
+ "description": "The number of days to retain an untagged manifest after which it gets purged.",
+ "default": 7,
+ "type": "integer"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "The timestamp when the policy was last updated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryUpdateParameters": {
+ "description": "The parameters for updating a container registry.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the container registry.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryPropertiesUpdateParameters",
+ "description": "The properties that the container registry will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RegistryPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ }
+ }
+ },
+ "RegistryListResult": {
+ "description": "The result of a request to list container registries.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registries.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryListCredentialsResult": {
+ "description": "The response from the ListCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryPassword"
+ }
+ }
+ }
+ },
+ "RegistryPassword": {
+ "description": "The login password for the container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The password name.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateCredentialParameters": {
+ "description": "The parameters used to regenerate the login credential.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryUsageListResult": {
+ "description": "The result of a request to get container registry quota usages.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry quota usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryUsage"
+ }
+ }
+ }
+ },
+ "RegistryUsage": {
+ "description": "The quota usage for a container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the usage.",
+ "type": "string"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "The limit of the usage.",
+ "type": "integer"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value of the usage.",
+ "type": "integer"
+ },
+ "unit": {
+ "description": "The unit of measurement.",
+ "enum": [
+ "Count",
+ "Bytes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RegistryUsageUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Replication": {
+ "description": "An object that represents a replication for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProperties",
+ "description": "The properties of the replication.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationProperties": {
+ "description": "The properties of a replication.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the replication at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the replication at the time the operation was called.",
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationUpdateParameters": {
+ "description": "The parameters for updating a replication.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the replication.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReplicationListResult": {
+ "description": "The result of a request to list replications for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of replications.",
+ "type": "string"
+ }
+ }
+ },
+ "Webhook": {
+ "description": "An object that represents a webhook for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebhookProperties",
+ "description": "The properties of the webhook.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookProperties": {
+ "description": "The properties of a webhook.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the webhook at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebhookCreateParameters": {
+ "description": "The parameters for creating a webhook.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the webhook. This cannot be changed after the resource is created.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesCreateParameters",
+ "description": "The properties that the webhook will be created with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesCreateParameters": {
+ "description": "The parameters for creating the properties of a webhook.",
+ "required": [
+ "serviceUri",
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookUpdateParameters": {
+ "description": "The parameters for updating a webhook.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesUpdateParameters",
+ "description": "The properties that the webhook will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a webhook.",
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookListResult": {
+ "description": "The result of a request to list webhooks for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of webhooks.",
+ "type": "string"
+ }
+ }
+ },
+ "EventInfo": {
+ "description": "The basic information of an event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ }
+ }
+ },
+ "CallbackConfig": {
+ "description": "The configuration of service URI and custom headers for the webhook.",
+ "required": [
+ "serviceUri"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EventListResult": {
+ "description": "The result of a request to list events for a webhook.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of events.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "The event for a webhook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventInfo"
+ }
+ ],
+ "properties": {
+ "eventRequestMessage": {
+ "$ref": "#/definitions/EventRequestMessage",
+ "description": "The event request message sent to the service URI."
+ },
+ "eventResponseMessage": {
+ "$ref": "#/definitions/EventResponseMessage",
+ "description": "The event response message received from the service URI."
+ }
+ }
+ },
+ "EventRequestMessage": {
+ "description": "The event request message sent to the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/EventContent",
+ "description": "The content of the event request message."
+ },
+ "headers": {
+ "description": "The headers of the event request message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "method": {
+ "description": "The HTTP method used to send the event request message.",
+ "type": "string"
+ },
+ "requestUri": {
+ "description": "The URI used to send the event request message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventResponseMessage": {
+ "description": "The event response message received from the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "The content of the event response message.",
+ "type": "string"
+ },
+ "headers": {
+ "description": "The headers of the event response message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "reasonPhrase": {
+ "description": "The reason phrase of the event response message.",
+ "type": "string"
+ },
+ "statusCode": {
+ "description": "The status code of the event response message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventContent": {
+ "description": "The content of the event request message.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The time at which the event occurred.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The action that encompasses the provided event.",
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/Target",
+ "description": "The target of the event."
+ },
+ "request": {
+ "$ref": "#/definitions/Request",
+ "description": "The request that generated the event."
+ },
+ "actor": {
+ "$ref": "#/definitions/Actor",
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request."
+ },
+ "source": {
+ "$ref": "#/definitions/Source",
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it."
+ }
+ }
+ },
+ "Target": {
+ "description": "The target of the event.",
+ "type": "object",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the referenced object.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Length field.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.",
+ "type": "string"
+ },
+ "length": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Size field.",
+ "type": "integer"
+ },
+ "repository": {
+ "description": "The repository name.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The direct URL to the content.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag name.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the artifact.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the artifact.",
+ "type": "string"
+ }
+ }
+ },
+ "Request": {
+ "description": "The request that generated the event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the request that initiated the event.",
+ "type": "string"
+ },
+ "addr": {
+ "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.",
+ "type": "string"
+ },
+ "method": {
+ "description": "The request method that generated the event.",
+ "type": "string"
+ },
+ "useragent": {
+ "description": "The user agent header of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "Actor": {
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subject or username associated with the request context that generated the event.",
+ "type": "string"
+ }
+ }
+ },
+ "Source": {
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.",
+ "type": "object",
+ "properties": {
+ "addr": {
+ "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.",
+ "type": "string"
+ },
+ "instanceID": {
+ "description": "The running instance of an application. Changes after each restart.",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "RegistryNameParameter": {
+ "name": "registryName",
+ "in": "path",
+ "description": "The name of the container registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "WebhookNameParameter": {
+ "name": "webhookName",
+ "in": "path",
+ "description": "The name of the webhook.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ReplicationNameParameter": {
+ "name": "replicationName",
+ "in": "path",
+ "description": "The name of the replication.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByManifestDigest.json
new file mode 100644
index 000000000000..0e6755e43db7
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByManifestDigest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByTag.json
new file mode 100644
index 000000000000..435b3eef88f6
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageByTag.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository:sourceTag"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageFromPublicRegistry.json
new file mode 100644
index 000000000000..54a1f6908842
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ImportImageFromPublicRegistry.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "registryUri": "registry.hub.docker.com",
+ "sourceImage": "library/hello-world"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameAvailable.json
new file mode 100644
index 000000000000..c74523d7c403
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameAvailable.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameNotAvailable.json
new file mode 100644
index 000000000000..d45f912edd2d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The registry myRegistry is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCreate.json
new file mode 100644
index 000000000000..14adc9f6b449
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryCreate.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The registry is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The registry is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryDelete.json
new file mode 100644
index 000000000000..91f79784147c
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryGet.json
new file mode 100644
index 000000000000..59ef4257a6e1
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The registry is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryList.json
new file mode 100644
index 000000000000..10bb9f8fbcb0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The registry is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListByResourceGroup.json
new file mode 100644
index 000000000000..f0570223b922
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListByResourceGroup.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The registry is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListCredentials.json
new file mode 100644
index 000000000000..19d39c3cea43
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListCredentials.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListUsages.json
new file mode 100644
index 000000000000..b9c79d2c3cbb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryListUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Size",
+ "limit": 107374182400,
+ "currentValue": 12345678,
+ "unit": "Bytes"
+ },
+ {
+ "name": "Webhooks",
+ "limit": 10,
+ "currentValue": 2,
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryRegenerateCredential.json
new file mode 100644
index 000000000000..ff97745e6425
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryRegenerateCredential.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "regenerateCredentialParameters": {
+ "name": "password"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryUpdate.json
new file mode 100644
index 000000000000..968d191e3207
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/RegistryUpdate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registryUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The registry is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myregistry.azurecr.io",
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "provisioningState": "Updating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The registry is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "adminUserEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationCreate.json
new file mode 100644
index 000000000000..d0514f09f2f0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationCreate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationDelete.json
new file mode 100644
index 000000000000..cd827b7ac01f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationGet.json
new file mode 100644
index 000000000000..b03d5c86ebd0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationList.json
new file mode 100644
index 000000000000..050716c3967a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationUpdate.json
new file mode 100644
index 000000000000..e6c9fe68526e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/ReplicationUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replicationUpdateParameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookCreate.json
new file mode 100644
index 000000000000..be62eafb7a20
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookCreateParameters": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookDelete.json
new file mode 100644
index 000000000000..57da5e197ab3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGet.json
new file mode 100644
index 000000000000..2162766688e9
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGetCallbackConfig.json
new file mode 100644
index 000000000000..c9ab886d187d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookGetCallbackConfig.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookList.json
new file mode 100644
index 000000000000..267904e7eacf
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookListEvents.json
new file mode 100644
index 000000000000..a4cdd44c4bd4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookListEvents.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "eventRequestMessage": {
+ "content": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "timestamp": "2017-03-01T23:14:37.0707808Z",
+ "action": "push",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "size": 708,
+ "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "length": 708,
+ "repository": "hello-world",
+ "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "tag": "latest"
+ },
+ "request": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "addr": "192.168.64.11:42961",
+ "host": "192.168.100.227:5000",
+ "method": "GET",
+ "useragent": "curl/7.38.0"
+ },
+ "actor": {},
+ "source": {
+ "addr": "xtal.local:5000",
+ "instanceID": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "headers": {
+ "Content-Type": "application/json",
+ "Content-Length": "719",
+ "Authorization": "******"
+ },
+ "method": "POST",
+ "requestUri": "http://myservice.com",
+ "version": "1.1"
+ },
+ "eventResponseMessage": {
+ "headers": {
+ "Content-Length": "0"
+ },
+ "statusCode": "200",
+ "version": "1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookPing.json
new file mode 100644
index 000000000000..80046fd10446
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookPing.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookUpdate.json
new file mode 100644
index 000000000000..24deb9f62821
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/examples/WebhookUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md
index 85f4c0eb0e79..1249065b7f08 100644
--- a/specification/containerregistry/resource-manager/readme.go.md
+++ b/specification/containerregistry/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-12-preview
- tag: package-2019-06-preview
- tag: package-2019-05
- tag: package-2019-05-preview
@@ -25,6 +26,15 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2019-12-preview and go
+
+These settings apply only when `--tag=package-2019-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-12-01-preview/$(namespace)
+```
+
### Tag: package-2019-06-preview and go
These settings apply only when `--tag=package-2019-06-preview --go` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.java.md b/specification/containerregistry/resource-manager/readme.java.md
index d91b48cab2e5..87034cad98c9 100644
--- a/specification/containerregistry/resource-manager/readme.java.md
+++ b/specification/containerregistry/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerregistry
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-12-preview
- tag: package-2019-06-preview-only
- tag: package-2019-04-only
- tag: package-2019-04
@@ -27,6 +28,19 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2019-12-preview and java
+
+These settings apply only when `--tag=package-2019-12-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerregistry.v2019_12_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2019_12_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2019-06-preview-only and java
These settings apply only when `--tag=package-2019-06-preview-only --java` is specified on the command line.
@@ -35,7 +49,7 @@ Please also specify `--azure-libraries-for-java-folder= `autorest`
@@ -15,13 +15,13 @@ To build the SDK for ContainerRegistry, simply [Install AutoRest](https://aka.ms
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the ContainerRegistry API.
``` yaml
@@ -29,6 +29,15 @@ openapi-type: arm
tag: package-2019-06-preview
```
+
+### Tag: package-2019-12-preview
+
+These settings apply only when `--tag=package-2019-12-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-12-preview'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
+```
### Tag: package-2019-06-preview
These settings apply only when `--tag=package-2019-06-preview` is specified on the command line.
@@ -144,10 +153,9 @@ input-file:
- Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -172,7 +180,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -200,7 +207,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.
@@ -212,6 +219,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
- $(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
@@ -225,11 +233,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/resource-manager/readme.nodejs.md b/specification/containerregistry/resource-manager/readme.nodejs.md
index 7ab8e1d2785e..ee233b2ed5b7 100644
--- a/specification/containerregistry/resource-manager/readme.nodejs.md
+++ b/specification/containerregistry/resource-manager/readme.nodejs.md
@@ -12,7 +12,7 @@ nodejs:
generate-package-json: true
generate-readme-md: true
input-file:
-- Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
+- Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
- Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
```
diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md
index 35505275362d..a1707e78519e 100644
--- a/specification/containerregistry/resource-manager/readme.python.md
+++ b/specification/containerregistry/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-12-preview
- tag: package-2019-06-preview
- tag: package-2019-05
- tag: package-2019-05-preview
@@ -28,6 +29,17 @@ batch:
- tag: package-2017-03
```
+### Tag: package-2019-12-preview and python
+
+These settings apply only when `--tag=package-2019-12-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-preview' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_12_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
+```
+
### Tag: package-2019-06-preview and python
These settings apply only when `--tag=package-2019-06-preview --python` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.ruby.md b/specification/containerregistry/resource-manager/readme.ruby.md
index 6e20f9c556fa..cb834081753f 100644
--- a/specification/containerregistry/resource-manager/readme.ruby.md
+++ b/specification/containerregistry/resource-manager/readme.ruby.md
@@ -12,12 +12,23 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-12-preview
- tag: package-2017-10
- tag: package-2017-06-preview
- tag: package-2017-03
- tag: package-2016-06-preview
```
+### Tag: package-2019-12-preview and ruby
+
+These settings apply only when `--tag=package-2019-12-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-preview' && $(ruby)
+namespace: "Azure::ContainerRegistry::Mgmt::V2019_12_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib
+```
+
### Tag: package-2017-10 and ruby
These settings apply only when `--tag=package-2017-10 --ruby` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.typescript.md b/specification/containerregistry/resource-manager/readme.typescript.md
index b532cf90e05c..8fc2768ada95 100644
--- a/specification/containerregistry/resource-manager/readme.typescript.md
+++ b/specification/containerregistry/resource-manager/readme.typescript.md
@@ -12,5 +12,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-containerregistry"
output-folder: "$(typescript-sdks-folder)/sdk/containerregistry/arm-containerregistry"
+ clear-output-folder: true
generate-metadata: true
```
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
index 2963d2e6c482..182a9619d34f 100644
--- 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
@@ -632,13 +632,13 @@
},
"description": "Defines all possible authentication profiles for the OpenShift cluster."
},
- "OpenShiftManagedClusterMonitorProfile":{
+ "OpenShiftManagedClusterMonitorProfile": {
"properties": {
- "workspaceResourceID":{
+ "workspaceResourceID": {
"type": "string",
"description": "Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with."
},
- "enabled":{
+ "enabled": {
"type": "boolean",
"description": "If the Log analytics integration should be turned on or off"
}
@@ -697,7 +697,7 @@
"$ref": "#/definitions/OpenShiftManagedClusterAuthProfile",
"description": "Configures OpenShift authentication."
},
- "monitorProfile":{
+ "monitorProfile": {
"$ref": "#/definitions/OpenShiftManagedClusterMonitorProfile",
"description": "Configures Log Analytics integration."
}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..d1387137a84e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/examples/AgentPools_Update.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
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 57e98ffa0c12..2adcf5c68ab2 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
@@ -676,6 +676,9 @@
"x-ms-examples": {
"Create/Update Agent Pool": {
"$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
}
}
},
@@ -1336,10 +1339,7 @@
"count": {
"type": "integer",
"format": "int32",
- "maximum": 100,
- "minimum": 1,
- "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
- "default": 1
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1."
},
"vmSize": {
"$ref": "#/definitions/ContainerServiceVMSize",
@@ -1416,10 +1416,6 @@
"description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
}
},
- "required": [
- "vmSize",
- "count"
- ],
"description": "Properties for the container service agent pool profile."
},
"ManagedClusterAgentPoolProfile": {
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..4328104e0709
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/AgentPools_Update.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..e5ba316fadef
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
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 ba737fe8743d..c16a98053709 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
@@ -676,6 +676,9 @@
"x-ms-examples": {
"Create/Update Agent Pool": {
"$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
}
}
},
@@ -921,6 +924,50 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -1336,10 +1383,7 @@
"count": {
"type": "integer",
"format": "int32",
- "maximum": 100,
- "minimum": 1,
- "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
- "default": 1
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1."
},
"vmSize": {
"$ref": "#/definitions/ContainerServiceVMSize",
@@ -1416,10 +1460,6 @@
"description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
}
},
- "required": [
- "vmSize",
- "count"
- ],
"description": "Properties for the container service agent pool profile."
},
"ManagedClusterAgentPoolProfile": {
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..b9ec99ea67df
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..fda05b251c90
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..a1ff30d9a1d4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..5b349e7115d0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..ba86fc7b293d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..4d90083f9af3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPoolsList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..c9d121e3d76a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..07aa235153e5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,205 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..7c26aba90427
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..10ac63124e48
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGet.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "loadBalancerProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..0dd88eda99ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..ac23d3e9e98b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..8d288130f829
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..911ae49db170
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..39f059ab1fd0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..3b3150a135de
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..86f0075c028c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..7c26aba90427
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..ceb4cee7ef1b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
new file mode 100644
index 000000000000..b8e3358738bf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
@@ -0,0 +1,2391 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "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": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "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 Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "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 Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "(PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool. VirtualMachineScaleSets type is still in PREVIEW."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ }
+ },
+ "description": "Profile of the managed cluster load balancer"
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "required": [
+ "clientAppID",
+ "serverAppID"
+ ],
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "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."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Low",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..927a3199ef60
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..099e5a8da2dd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..3e1bfc7aa280
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..ac53095e7991
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..9df4e51697f7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..9283211407c8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPoolsList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..5ffa0904f27e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,225 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..e1093d6b6429
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..f76f181b32c7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGet.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..734e326259fc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..79f608833ad4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..bb8a8cadd67d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..42b7927af660
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..58b3d710dffc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..624504295a19
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..9097958f42c5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..e1093d6b6429
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..489c82d4682c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
new file mode 100644
index 000000000000..3a873962adcd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
@@ -0,0 +1,2474 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2019-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "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 Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "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 Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ }
+ },
+ "required": [
+ "vmSize",
+ "count"
+ ],
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "required": [
+ "clientAppID",
+ "serverAppID"
+ ],
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "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."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Low",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..5d16c53b58b9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Low",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..aa78797a76fd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..92fba6712354
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..7886d4f76331
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..eebce484f469
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..c8548223cf9c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPoolsList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..3b3d4189a5b0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,228 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..173739d100d7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..db3485931aa0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGet.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..212a8d87cb15
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..76d8888a5a4e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..9115ab6bf697
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..752dd3fe2e7a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..ee5cfb1d09f5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..00148942555e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..dd35fb3d656e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..173739d100d7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..4d2ae672dc33
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
new file mode 100644
index 000000000000..4e21f399e3b1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
@@ -0,0 +1,2478 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "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 Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "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 Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ }
+ },
+ "required": [
+ "vmSize",
+ "count"
+ ],
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "required": [
+ "clientAppID",
+ "serverAppID"
+ ],
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "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."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Low",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index a0cc0ff00cc0..e15f9cbda2df 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -12,6 +12,9 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-01
+ - tag: package-2019-11
+ - tag: package-2019-10
- tag: package-2019-08
- tag: package-2019-06
- tag: package-2019-04
@@ -25,6 +28,36 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2020-01 and go
+
+These settings apply only when `--package-2020-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-01' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace)
+```
+
+### Tag: package-2019-11 and go
+
+These settings apply only when `--package-2019-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-11' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-11-01/$(namespace)
+```
+
+### Tag: package-2019-10 and go
+
+These settings apply only when `--package-2019-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-10' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
### Tag: package-2019-08 and go
These settings apply only when `--package-2019-08 --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 91bf924baddb..44e242c3403e 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -18,6 +18,48 @@ description: "Container Service Client"
batch:
- tag: package-2019-06
- tag: package-2019-08
+ - tag: package-2019-10
+ - tag: package-2019-11
+ - tag: package-2020-01
+```
+
+### Tag: package-2020-01 and java
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-11 and java
+
+These settings apply only when `--tag=package-2019-11` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2019_11_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2019_11_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-10 and java
+
+These settings apply only when `--tag=package-2019-10` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2019_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2019_10_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2019-08 and java
@@ -28,7 +70,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-01-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_01_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_01_01
+```
+
+### Tag: package-2019-11-01-only and python
+
+These settings apply only when `--tag=package-2019-11-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-11-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2019_11_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_11_01
+```
+
+### Tag: package-2019-10-01-only and python
+
+These settings apply only when `--tag=package-2019-10-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-10-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2019_10_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_10_01
+```
+
### Tag: package-2019-08-01-only and python
These settings apply only when `--tag=package-2019-08-01-only --python` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.typescript.md b/specification/containerservice/resource-manager/readme.typescript.md
index 288ba334a779..cea54a251944 100644
--- a/specification/containerservice/resource-manager/readme.typescript.md
+++ b/specification/containerservice/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-containerservice"
output-folder: "$(typescript-sdks-folder)/sdk/containerservice/arm-containerservice"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..b75e1e6d637b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2019-08-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..53fdc35bc619
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2019-08-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..7402270916e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2019-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..53a177ee7b10
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2019-08-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
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
index 1b185e5cc374..9be3abe573c0 100644
--- 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
@@ -22,4 +22,4 @@
}
}
}
-}
\ No newline at end of file
+}
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
index d53cc6afcd6b..92f822d3d525 100644
--- 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
@@ -25,4 +25,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
new file mode 100644
index 000000000000..d52a3844d546
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
@@ -0,0 +1,323 @@
+{
+ "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}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections on a Cosmos DB account.",
+ "operationId": "PrivateEndpointConnections_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted. The private endpoint connection update will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The private endpoint connection delete will complete asynchronously."
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ },
+ "description": "Error Response."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection State of the Private Endpoint Connection."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "description": "Private endpoint which the connection belongs to.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource id of the private endpoint."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "type": "object",
+ "description": "Connection State of the Private Endpoint Connection.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The private link service connection status."
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "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]+)*"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the private endpoint connection."
+ }
+ }
+}
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
index 45d331cb520f..0cf77f13eb4a 100644
--- 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
@@ -173,4 +173,4 @@
"type": "string"
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
new file mode 100644
index 000000000000..f9befa81ebd8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
@@ -0,0 +1,6051 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2015-04-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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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}/apis/sql/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/sql/databases/{databaseName}/containers": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases/{databaseName}/collections": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/table/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccount"
+ },
+ "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/SqlDatabase"
+ },
+ "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/SqlContainer"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabase"
+ },
+ "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/MongoDBCollection"
+ },
+ "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/Table"
+ },
+ "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/CassandraKeyspace"
+ },
+ "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/CassandraTable"
+ },
+ "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/GremlinDatabase"
+ },
+ "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/GremlinGraph"
+ },
+ "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"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "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."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccount": {
+ "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/DatabaseAccountProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases and SQL containers.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ }
+ },
+ "Throughput": {
+ "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/ThroughputProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ThroughputProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ ]
+ },
+ "SqlDatabase": {
+ "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/SqlDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlDatabaseProperties": {
+ "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"
+ }
+ ]
+ },
+ "SqlContainer": {
+ "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/SqlContainerProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabase": {
+ "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/MongoDBDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ }
+ ]
+ },
+ "MongoDBCollection": {
+ "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/MongoDBCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ }
+ ]
+ },
+ "Table": {
+ "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/TableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TableProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ }
+ ]
+ },
+ "CassandraKeyspace": {
+ "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/CassandraKeyspaceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraKeyspaceProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ }
+ ]
+ },
+ "CassandraTable": {
+ "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/CassandraTableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraTableProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ }
+ ]
+ },
+ "GremlinDatabase": {
+ "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/GremlinDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ }
+ ]
+ },
+ "GremlinGraph": {
+ "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/GremlinGraphProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinGraphProperties": {
+ "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"
+ ]
+ },
+ "DatabaseAccountProperties": {
+ "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/Resource"
+ }
+ ],
+ "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
+ }
+ },
+ "ThroughputUpdateParameters": {
+ "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/ThroughputUpdateProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "ThroughputResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput"
+ }
+ },
+ "required": [
+ "throughput"
+ ]
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database id 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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "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 2015-04-08."
+ },
+ "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."
+ },
+ "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/2014-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..e1481a0ae78a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..8ce39c95a7d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..ee3cf9024fb9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..021d3bd770d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..483187014692
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..25c2a2bd33d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..02c66dee4be9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "tableName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "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": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2014-04-01/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..ea0a83a7cf08
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..4787cec72005
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2014-04-01/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..97977fbb89d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2014-04-01/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..fe3f82b97fb6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..0d7b4ecf4c1b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..c54c0103b5b6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..8136b6dc4bfa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..9efd993f7ceb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..2d12cf0fc18e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..d5e676d656f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..afaa33b7a90c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..cafbcef45ffc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2014-04-01"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..90cf2e3bc6bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..2e1fdf269d1e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..1b74ee360f81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..34ca4e93660d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..ba33d685671c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..706d2a069659
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..b56004271351
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..855f57cc6d52
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..5b3e113f34e3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..d45864748494
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..db3c34a7131f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..5c73921c864c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..ab02a7cf5c8e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..7f541ed94c19
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..aa612dcdb549
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..d607e194a118
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..b45d763e0aae
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..f4065b00907b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..62a752b644f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..f8ae7946550a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..c4313e98b958
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..841060619042
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..802c2c19adc9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2014-04-01/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..63f2653fd75f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..1c28944301e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..46de82a84ade
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..a8fdd259bf3d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..1bbab2d108d5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..48f7827974ab
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "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": "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\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..0b5e523ba844
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..e0a39db315a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..e61db430c939
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..f66752edfb56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..4f62992b5978
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..541b5f55a83f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/collection",
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..d27d21048beb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..de65f287fc2e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2014-04-01/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..d1c785b47377
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testcoll",
+ "name": "testcoll",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..c79c188a37e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..15f31ef0ef11
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..fe1f2f86f692
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "updatedDatabaseName",
+ "name": "updatedDatabaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..63f2653fd75f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..c7d0568dce5d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..52d6cb0c9ac2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..a8fdd259bf3d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..1bbab2d108d5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..59f374037b4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..6eff66cd058c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..5b62bbfa0fbb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..da045c456ad6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..2d51849ca1a9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..7eb1d99b2cc2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..c6c4b90635d0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-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/2014-04-01/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..f9f24b73b555
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "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": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2014-04-01/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..37139918526c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..e79574032710
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2014-04-01/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..45dd18feb00c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testctn",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2014-04-01/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..c269ad18e51b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..b8b40f5d80f9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..3f417e64d80f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2014-04-01/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..63f2653fd75f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..20455357e11e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2014-04-01/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..9d9acf7cd091
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2014-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..a8fdd259bf3d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..1bbab2d108d5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..ca3783ba3e6e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..c300ff61f6f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..80b16d8bb57a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..e851a17bc723
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..7c795baf3f65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..2755c29ca4b2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2014-04-01/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionGetMetricDefinitions.json
index 152e7d214a53..0c6cd6052b9a 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionGetMetricDefinitions.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -28,7 +28,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/2015-04-08/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
index bca1e3bf032b..cadd0fb3fe73 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -26,7 +26,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/2015-04-08/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseGetMetricDefinitions.json
index da325cde351b..26624751acce 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseGetMetricDefinitions.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -27,7 +27,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/2015-04-08/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseGet.json
index 594afb2deff7..d635e6dfd81e 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseGet.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseGet.json
@@ -17,8 +17,8 @@
"_rid": "CqNBAA==",
"_ts": 1449602962,
"_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
- "_colls": "colls\/",
- "_users": "users\/"
+ "_colls": "colls/",
+ "_users": "users/"
}
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseList.json
index 1194d33b31f1..52cb013e2f8f 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseList.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBSqlDatabaseList.json
@@ -18,8 +18,8 @@
"_rid": "CqNBAA==",
"_ts": 1449602962,
"_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
- "_colls": "colls\/",
- "_users": "users\/"
+ "_colls": "colls/",
+ "_users": "users/"
}
}
]
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
new file mode 100644
index 000000000000..34dfff0507c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
@@ -0,0 +1,6051 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2015-11-06"
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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}/apis/sql/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/sql/databases/{databaseName}/containers": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases/{databaseName}/collections": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/table/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccount"
+ },
+ "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/SqlDatabase"
+ },
+ "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/SqlContainer"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabase"
+ },
+ "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/MongoDBCollection"
+ },
+ "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/Table"
+ },
+ "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/CassandraKeyspace"
+ },
+ "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/CassandraTable"
+ },
+ "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/GremlinDatabase"
+ },
+ "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/GremlinGraph"
+ },
+ "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"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "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."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccount": {
+ "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/DatabaseAccountProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases and SQL containers.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ }
+ },
+ "Throughput": {
+ "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/ThroughputProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ThroughputProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ ]
+ },
+ "SqlDatabase": {
+ "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/SqlDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlDatabaseProperties": {
+ "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"
+ }
+ ]
+ },
+ "SqlContainer": {
+ "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/SqlContainerProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabase": {
+ "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/MongoDBDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ }
+ ]
+ },
+ "MongoDBCollection": {
+ "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/MongoDBCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ }
+ ]
+ },
+ "Table": {
+ "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/TableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TableProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ }
+ ]
+ },
+ "CassandraKeyspace": {
+ "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/CassandraKeyspaceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraKeyspaceProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ }
+ ]
+ },
+ "CassandraTable": {
+ "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/CassandraTableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraTableProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ }
+ ]
+ },
+ "GremlinDatabase": {
+ "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/GremlinDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ }
+ ]
+ },
+ "GremlinGraph": {
+ "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/GremlinGraphProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinGraphProperties": {
+ "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"
+ ]
+ },
+ "DatabaseAccountProperties": {
+ "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/Resource"
+ }
+ ],
+ "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
+ }
+ },
+ "ThroughputUpdateParameters": {
+ "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/ThroughputUpdateProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "ThroughputResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput"
+ }
+ },
+ "required": [
+ "throughput"
+ ]
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database id 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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "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 2015-04-08."
+ },
+ "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."
+ },
+ "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/2015-11-06/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..4f243dddac9f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..519afb91995d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..04a7eca2d8d0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..a07d9102e72a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..d4bd827a6193
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..bd2d3ebdc51c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..68e955ab4e3d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "tableName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "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": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2015-11-06/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..35aac93b3f05
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..4efe74a02483
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2015-11-06/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..1ec3b92b7e5c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2015-11-06/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..beab8070f6f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..f326a92a7295
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..89a28ba6536b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..bd9d877cdd40
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..0fe15133f902
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..dbb57da046b0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..693c4672e63c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..21ce6add79af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..76a71c6d1b65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2015-11-06"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..e3c79bf1c61c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..ad3cb19c0291
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..784bcd988723
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..5f01fc4d16fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..393559560011
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..c8dcb48a23bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2015-11-06"
+ },
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..1aad88238aa9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..8f44d50ebe82
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..428f056e8b38
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..9e783f36b48c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..969189cf1a29
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..d3d731fb765f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..e393fea4cf40
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..ebcb381459a7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..0bf3302fad69
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..7c0dae1526d3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..ed397023b50a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..967e56ff1f28
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..69880a061eb7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..8132321dce6d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..f7260448a8f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..88a34f818359
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..3b4d74faea5b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2015-11-06/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..fe9d4deca2dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..1d3abbea0c0b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..c52248272301
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..2dcaee16bf14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b8f2c0014afa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..ab1702b8a9c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "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": "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\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..894bf5326c7b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..cfd4020a7a8f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..5f5ef59e8b4c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..acaead1226fd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..a1b8761b2a41
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..58f081e32ebd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/collection",
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..24920c4b36a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..784187a20fff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2015-11-06/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..ea5caa550f28
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testcoll",
+ "name": "testcoll",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..039f53ca70da
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..82ecee189e36
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..55bd0cc369e4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "updatedDatabaseName",
+ "name": "updatedDatabaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..fe9d4deca2dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..d9f90748a4de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..77db9ce9ab6e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..2dcaee16bf14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b8f2c0014afa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..27f2172ff765
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06"
+ },
+ "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/2015-11-06/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..a099004d1f8d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..b0209f6f7828
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..7192b3c0b90a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..bc27306afcf1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..6addc59e773c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..f744621c0e60
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "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/2015-11-06/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..0a89b7bc4d6c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "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": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2015-11-06/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..2ebd7f93c523
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..19838c3dc16f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2015-11-06/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..9d8091cd4e0d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testctn",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2015-11-06/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..fac0d4e70e5d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..a399e8f6b77d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..7f25a4d1f26e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2015-11-06/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..fe9d4deca2dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..435acc71062f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2015-11-06/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..758754b1ae3e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2015-11-06/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..2dcaee16bf14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b8f2c0014afa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..6931bbba32ea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..ad8a12932805
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..db8d1c000d62
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..acdefc78278d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..3f062bf35f0b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..e4d118460a4c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-11-06/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-06",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
new file mode 100644
index 000000000000..42a73a42fa75
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
@@ -0,0 +1,6051 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2016-03-19"
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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}/apis/sql/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/sql/databases/{databaseName}/containers": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases/{databaseName}/collections": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/table/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccount"
+ },
+ "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/SqlDatabase"
+ },
+ "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/SqlContainer"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabase"
+ },
+ "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/MongoDBCollection"
+ },
+ "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/Table"
+ },
+ "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/CassandraKeyspace"
+ },
+ "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/CassandraTable"
+ },
+ "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/GremlinDatabase"
+ },
+ "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/GremlinGraph"
+ },
+ "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"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "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."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccount": {
+ "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/DatabaseAccountProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases and SQL containers.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ }
+ },
+ "Throughput": {
+ "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/ThroughputProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ThroughputProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ ]
+ },
+ "SqlDatabase": {
+ "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/SqlDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlDatabaseProperties": {
+ "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"
+ }
+ ]
+ },
+ "SqlContainer": {
+ "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/SqlContainerProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabase": {
+ "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/MongoDBDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ }
+ ]
+ },
+ "MongoDBCollection": {
+ "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/MongoDBCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ }
+ ]
+ },
+ "Table": {
+ "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/TableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TableProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ }
+ ]
+ },
+ "CassandraKeyspace": {
+ "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/CassandraKeyspaceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraKeyspaceProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ }
+ ]
+ },
+ "CassandraTable": {
+ "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/CassandraTableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraTableProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ }
+ ]
+ },
+ "GremlinDatabase": {
+ "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/GremlinDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ }
+ ]
+ },
+ "GremlinGraph": {
+ "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/GremlinGraphProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinGraphProperties": {
+ "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"
+ ]
+ },
+ "DatabaseAccountProperties": {
+ "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/Resource"
+ }
+ ],
+ "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
+ }
+ },
+ "ThroughputUpdateParameters": {
+ "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/ThroughputUpdateProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "ThroughputResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput"
+ }
+ },
+ "required": [
+ "throughput"
+ ]
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database id 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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "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 2015-04-08."
+ },
+ "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."
+ },
+ "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/2016-03-19/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..7190a16bec56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..b24a7529b843
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..8f9090ff836c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..f11668dd470b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..6c01148ed67f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..6cad4d3259af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..50c25aece663
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "tableName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "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": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-19/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..dc6db0442f08
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..d0569e5a9096
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-19/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..b2bd9bcaffe2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-19/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..2cb420a24a12
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..9e8afd95bd7d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..a80e9b358636
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..97494b66942e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..6d9b6f509e20
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..6e29a5d0d328
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..d4103ea3b7f4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..7764f8be91d8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..0349be3cab05
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2016-03-19"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..05e5b4674024
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..63f2500ca1c7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..5ee41816c79e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..6168335801a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..2b6ce5094de1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..2d5b4cf46c60
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-19"
+ },
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..b9071fe7ef73
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..30d8775eb724
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..c4961a1fe6c7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..04055485511c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..9d56f12a5327
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..4db00841e044
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..73f9aac63ae8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..2a69672cff18
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..091ec85f311f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..691598fd8049
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..7c0584ba20af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..7ab827867a98
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..cfe24d5fd71d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..fab5ea918e4e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..c54907416159
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..cb04be8eea90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..e5202079c4fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-19/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..396eada526f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..83d5bca29280
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..8f0c36ba5121
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..49296cf7a36f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..c2af00423526
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..52defa61c4fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "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": "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\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..c14875862ca9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..b131d4accd28
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..5767fb88fce9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..ac10d1039d6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..161bbf375526
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..891edb0e1ade
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/collection",
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..a2fbbc2a63e8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..8ee233abc265
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2016-03-19/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..5e9221bc9ec7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testcoll",
+ "name": "testcoll",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..8e3f2223a9f1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..a29195516da0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..f69f6ce3bdb0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "updatedDatabaseName",
+ "name": "updatedDatabaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..396eada526f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..32d9fc0549d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..84b34985a8f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..49296cf7a36f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..c2af00423526
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..a8b3084c6345
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19"
+ },
+ "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/2016-03-19/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..de99959413e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..685bb022a65d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..70f9e9c449a6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..a3dd264f5e5c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..3690f93d39a4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..0d2e3bd9f50c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "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/2016-03-19/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..4a803213b1aa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "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": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-19/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..6d82b6e59e75
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..955a116d881b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-19/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..1d5181ab4142
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testctn",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-19/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..348e1ce64893
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..b91ab1330097
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..eb36d7b4a41f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-19/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..396eada526f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..9ec6dfa965f0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-19/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..689cb445ffbe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-19/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..49296cf7a36f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..c2af00423526
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..9a79a3bb8078
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..77569e84ab48
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..bb24d57b9d35
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..20d32ed02860
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..b19048d82d25
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..596378caf7cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-19/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-19",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
new file mode 100644
index 000000000000..92390fe5f059
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
@@ -0,0 +1,6051 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2016-03-31"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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/DatabaseAccount"
+ }
+ }
+ }
+ },
+ "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}/apis/sql/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/sql/databases/{databaseName}/containers": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/SqlContainer"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/sql/databases/{databaseName}/containers/{containerName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/mongodb/databases/{databaseName}/collections": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/MongoDBCollection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/mongodb/databases/{databaseName}/collections/{collectionName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/table/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/Table"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/table/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraKeyspace"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/cassandra/keyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/CassandraTable"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/cassandra/keyspaces/{keyspaceName}/tables/{tableName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinDatabase"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/gremlin/databases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/GremlinGraph"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_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}/apis/gremlin/databases/{databaseName}/graphs/{graphName}/settings/throughput": {
+ "get": {
+ "operationId": "DatabaseAccounts_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/Throughput"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_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/ThroughputUpdateParameters"
+ },
+ "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/Throughput"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccount"
+ },
+ "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/SqlDatabase"
+ },
+ "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/SqlContainer"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabase"
+ },
+ "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/MongoDBCollection"
+ },
+ "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/Table"
+ },
+ "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/CassandraKeyspace"
+ },
+ "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/CassandraTable"
+ },
+ "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/GremlinDatabase"
+ },
+ "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/GremlinGraph"
+ },
+ "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"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "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."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccount": {
+ "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/DatabaseAccountProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases and SQL containers.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ }
+ },
+ "Throughput": {
+ "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/ThroughputProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ThroughputProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ ]
+ },
+ "SqlDatabase": {
+ "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/SqlDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlDatabaseProperties": {
+ "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"
+ }
+ ]
+ },
+ "SqlContainer": {
+ "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/SqlContainerProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "MongoDBDatabase": {
+ "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/MongoDBDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ }
+ ]
+ },
+ "MongoDBCollection": {
+ "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/MongoDBCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "MongoDBCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ }
+ ]
+ },
+ "Table": {
+ "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/TableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TableProperties": {
+ "description": "The properties of an Azure Cosmos Table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ }
+ ]
+ },
+ "CassandraKeyspace": {
+ "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/CassandraKeyspaceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraKeyspaceProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra keyspace",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ }
+ ]
+ },
+ "CassandraTable": {
+ "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/CassandraTableProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CassandraTableProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra table",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ }
+ ]
+ },
+ "GremlinDatabase": {
+ "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/GremlinDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier."
+ },
+ "_ts": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource."
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ }
+ ]
+ },
+ "GremlinGraph": {
+ "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/GremlinGraphProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "GremlinGraphProperties": {
+ "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"
+ ]
+ },
+ "DatabaseAccountProperties": {
+ "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/Resource"
+ }
+ ],
+ "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
+ }
+ },
+ "ThroughputUpdateParameters": {
+ "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/ThroughputUpdateProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputResource"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ },
+ "ThroughputResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Value of the Cosmos DB resource throughput"
+ }
+ },
+ "required": [
+ "throughput"
+ ]
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database id 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"
+ ]
+ },
+ "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"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table id 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 id object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "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 2015-04-08."
+ },
+ "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."
+ },
+ "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/2016-03-31/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..a79c2b57c51f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..7cb9e4e1c3a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..1c1ba5c78023
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..651ff32c9162
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces",
+ "properties": {
+ "id": "keyspaceName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..10d216c375c4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..662085f06830
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..0a29c5ab0330
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "tableName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "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": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-31/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..e8e11fc6db36
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..3ecdf0e5bd8d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-31/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..57c0e1183d71
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables",
+ "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/2016-03-31/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..2f1b1a680e3e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..16d3326851fa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..01adb5d4a969
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..e107ef42ecd0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..b261c820a4a4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..797fb0436680
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..dfe353ba83eb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..5fc0bebeae06
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..4020c8b50e1c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2016-03-31"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..e7fbba148bcf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..a1eb861f985e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..c34759d09a70
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..48ba5863ee08
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..e0d9e1877b90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..f185f82dca16
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-31"
+ },
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..9f4112d26db4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..544bc0da0b1d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..6d7fcb66b82b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..ffd361dd723d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..22f1d0df130c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..a209b22bc13e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..523a04cedb86
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..f3e6f97bb578
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..32d71f6b52d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..d0b9d212143e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..040b9c85dbf2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..a6fba9b878da
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..0550a7e79a93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..473a09e8f44d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..0631950a5098
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..0fd95a127b9f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..ef7d8c38dfee
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-31/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..203bcd2ebc81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..e755101c934b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..d6a8cce8e3ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..6733d4c5cfff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b230474b86dd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..7781246c2576
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "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": "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\""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..6434863a5739
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..c70d02e7a77a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..0e7cbba68a2e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..92214c57405f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..a95e637b3110
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..d0721afbd005
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/collection",
+ "properties": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..8192fd78a334
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..5cc6e1bfa532
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2016-03-31/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..4b407c1660f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testcoll",
+ "name": "testcoll",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections",
+ "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/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..9dc0136e279f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..924381ed3b8d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..bfac95803517
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "updatedDatabaseName",
+ "name": "updatedDatabaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..203bcd2ebc81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..0f801a5a6998
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..448213f1da82
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "properties": {
+ "id": "databaseName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..6733d4c5cfff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b230474b86dd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..e28b8cf61415
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31"
+ },
+ "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/2016-03-31/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..b686e7b443d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..be58ba0fdd7c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..3f86fa3bf4d9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..34f62a865d70
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..69a9689f054d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..69d52284e073
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "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/2016-03-31/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..9b2c70d34806
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "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": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-31/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..0efb57946228
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..67ced174dae2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-31/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..f0e2fb21811c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testctn",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers",
+ "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/2016-03-31/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..476d3664a9e0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..6dc02a6cf6b6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..0ed41d89c9e7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-31/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..203bcd2ebc81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..2be6c90b41b3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-31/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..98d800338dde
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases",
+ "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/2016-03-31/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..6733d4c5cfff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b230474b86dd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..446b0f784dab
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..c4ae0d88c4f1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..a7e730abc41f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..2c65d8904e38
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/tables",
+ "properties": {
+ "id": "tableName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..b49dac5b09b2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..7304618acea2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2016-03-31/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2016-03-31",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "throughput": 400
+ }
+ }
+ },
+ "202": {}
+ }
+}
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
index f64180f96abb..bb598950972e 100644
--- 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
@@ -67,13 +67,13 @@
}
},
"patch": {
- "operationId": "DatabaseAccounts_Patch",
+ "operationId": "DatabaseAccounts_Update",
"x-ms-examples": {
"CosmosDBDatabaseAccountPatch": {
"$ref": "./examples/CosmosDBDatabaseAccountPatch.json"
}
},
- "description": "Patches the properties of an existing Azure Cosmos DB database account.",
+ "description": "Updates the properties of an existing Azure Cosmos DB database account.",
"x-ms-long-running-operation": true,
"parameters": [
{
@@ -93,14 +93,14 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/DatabaseAccountPatchParameters"
+ "$ref": "#/definitions/DatabaseAccountUpdateParameters"
},
- "description": "The tags parameter to patch for the current database account."
+ "description": "The parameters to provide for the current database account."
}
],
"responses": {
"200": {
- "description": "The properties of the database account were patched successfully.",
+ "description": "The database account update operation will complete asynchronously.",
"schema": {
"$ref": "#/definitions/DatabaseAccountGetResults"
}
@@ -117,7 +117,7 @@
"$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json"
}
},
- "description": "Creates or updates an Azure Cosmos DB database account.",
+ "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.",
"x-ms-long-running-operation": true,
"parameters": [
{
@@ -1935,7 +1935,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
"get": {
"operationId": "SqlResources_ListSqlStoredProcedures",
"x-ms-examples": {
@@ -2113,7 +2113,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": {
"get": {
"operationId": "SqlResources_ListSqlUserDefinedFunctions",
"x-ms-examples": {
@@ -2291,7 +2291,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": {
"get": {
"operationId": "SqlResources_ListSqlTriggers",
"x-ms-examples": {
@@ -4566,11 +4566,18 @@
"ThroughputSettingsGetProperties": {
"description": "The properties of an Azure Cosmos DB resource throughput",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ThroughputSettingsResource"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"SqlDatabaseGetResults": {
"description": "An Azure Cosmos DB SQL database.",
@@ -4592,23 +4599,27 @@
"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"
+ "resource": {
+ "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.",
@@ -4629,14 +4640,18 @@
"SqlContainerGetProperties": {
"description": "The properties of an Azure Cosmos DB container",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SqlContainerResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"SqlStoredProcedureGetResults": {
"description": "An Azure Cosmos DB storedProcedure.",
@@ -4657,14 +4672,18 @@
"SqlStoredProcedureGetProperties": {
"description": "The properties of an Azure Cosmos DB StoredProcedure",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SqlStoredProcedureResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"SqlUserDefinedFunctionGetResults": {
"description": "An Azure Cosmos DB userDefinedFunction.",
@@ -4685,14 +4704,18 @@
"SqlUserDefinedFunctionGetProperties": {
"description": "The properties of an Azure Cosmos DB userDefinedFunction",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SqlUserDefinedFunctionResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"SqlTriggerGetResults": {
"description": "An Azure Cosmos DB trigger.",
@@ -4713,14 +4736,18 @@
"SqlTriggerGetProperties": {
"description": "The properties of an Azure Cosmos DB trigger",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SqlTriggerResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"MongoDBDatabaseGetResults": {
"description": "An Azure Cosmos DB MongoDB database.",
@@ -4741,14 +4768,18 @@
"MongoDBDatabaseGetProperties": {
"description": "The properties of an Azure Cosmos DB MongoDB database",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/MongoDBDatabaseResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"MongoDBCollectionGetResults": {
"description": "An Azure Cosmos DB MongoDB collection.",
@@ -4769,14 +4800,18 @@
"MongoDBCollectionGetProperties": {
"description": "The properties of an Azure Cosmos DB MongoDB collection",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/MongoDBCollectionResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"TableGetResults": {
"description": "An Azure Cosmos DB Table.",
@@ -4797,14 +4832,18 @@
"TableGetProperties": {
"description": "The properties of an Azure Cosmos Table",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/TableResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"CassandraKeyspaceGetResults": {
"description": "An Azure Cosmos DB Cassandra keyspace.",
@@ -4825,14 +4864,18 @@
"CassandraKeyspaceGetProperties": {
"description": "The properties of an Azure Cosmos DB Cassandra keyspace",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CassandraKeyspaceResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"CassandraTableGetResults": {
"description": "An Azure Cosmos DB Cassandra table.",
@@ -4853,14 +4896,18 @@
"CassandraTableGetProperties": {
"description": "The properties of an Azure Cosmos DB Cassandra table",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CassandraTableResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"GremlinDatabaseGetResults": {
"description": "An Azure Cosmos DB Gremlin database.",
@@ -4881,14 +4928,18 @@
"GremlinDatabaseGetProperties": {
"description": "The properties of an Azure Cosmos DB SQL database",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GremlinDatabaseResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"GremlinGraphGetResults": {
"description": "An Azure Cosmos DB Gremlin graph.",
@@ -4909,14 +4960,18 @@
"GremlinGraphGetProperties": {
"description": "The properties of an Azure Cosmos DB Gremlin graph",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GremlinGraphResource"
- },
- {
- "$ref": "#/definitions/ExtendedResourceProperties"
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
}
- ]
+ }
},
"ConsistencyPolicy": {
"type": "object",
@@ -5012,6 +5067,14 @@
"$ref": "#/definitions/Location"
}
},
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
"failoverPolicies": {
"type": "array",
"readOnly": true,
@@ -5038,19 +5101,10 @@
"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"
- }
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
}
}
},
@@ -5110,6 +5164,10 @@
"connectorOffer": {
"description": "The cassandra connector offer type for the Cosmos DB database C* account.",
"$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
}
},
"required": [
@@ -5149,16 +5207,79 @@
"properties"
]
},
- "DatabaseAccountPatchParameters": {
+ "DatabaseAccountUpdateProperties": {
+ "description": "Properties to 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"
+ }
+ },
+ "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"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ }
+ }
+ },
+ "DatabaseAccountUpdateParameters": {
"description": "Parameters for patching Azure Cosmos DB database account properties.",
"type": "object",
"properties": {
"tags": {
"$ref": "#/definitions/Tags"
},
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
"properties": {
"x-ms-client-flatten": true,
- "$ref": "#/definitions/DatabaseAccountPatchProperties"
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
}
}
},
@@ -5838,6 +5959,20 @@
"items": {
"$ref": "#/definitions/ExcludedPath"
}
+ },
+ "compositeIndexes": {
+ "description": "List of composite path list",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePathList"
+ }
+ },
+ "spatialIndexes": {
+ "description": "List of spatial specifics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialSpec"
+ }
}
}
},
@@ -5908,6 +6043,64 @@
}
}
},
+ "CompositePathList": {
+ "description": "List of composite path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePath"
+ }
+ },
+ "CompositePath": {
+ "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/*)"
+ },
+ "order": {
+ "description": "Sort order for composite paths.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ],
+ "x-ms-enum": {
+ "name": "CompositePathSortOrder",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SpatialSpec": {
+ "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/*)"
+ },
+ "types": {
+ "description": "List of path's spatial type",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialType"
+ }
+ }
+ }
+ },
+ "SpatialType": {
+ "description": "Indicates the spatial type of index.",
+ "type": "string",
+ "enum": [
+ "Point",
+ "LineString",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "SpatialType",
+ "modelAsString": true
+ }
+ },
"ContainerPartitionKey": {
"type": "object",
"description": "The configuration of the partition key to be used for partitioning data into multiple partitions",
@@ -5931,6 +6124,13 @@
"name": "PartitionKind",
"modelAsString": true
}
+ },
+ "version": {
+ "description": "Indicates the version of the partition key definition",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2,
+ "format": "int32"
}
}
},
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
index 4edfd440123f..302249ebd5ae 100644
--- 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
@@ -25,7 +25,9 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "keyspaceName"
+ "resource": {
+ "id": "keyspaceName"
+ }
}
}
},
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
index 913aa9213f39..174acf4782a2 100644
--- 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
@@ -15,10 +15,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "keyspaceName",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index 7e076a9ed3b5..13792614f42f 100644
--- 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
@@ -16,7 +16,9 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "keyspaceName"
+ "resource": {
+ "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
index 6575e0dc6fa0..351d9bdecb9f 100644
--- 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
@@ -15,9 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
index 9b0c2b4f18ac..2ef009085f33 100644
--- 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
@@ -24,9 +24,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableCreateUpdate.json
index 55031406eaf4..743a381bcc37 100644
--- 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
@@ -46,26 +46,28 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "tableName",
- "defaultTtl": 100,
- "schema": {
- "columns": [
- {
- "name": "columnA",
- "type": "Ascii"
- }
- ],
- "partitionKeys": [
- {
- "name": "columnA"
- }
- ],
- "clusterKeys": [
- {
- "name": "columnA",
- "orderBy": "Asc"
- }
- ]
+ "resource": {
+ "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/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableGet.json
index d7c280325a93..4420a030a94d 100644
--- 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
@@ -16,30 +16,32 @@
"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\""
+ "resource": {
+ "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
index 3c5c486e7a78..e5e042aface6 100644
--- 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
@@ -17,26 +17,28 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "tableName",
- "defaultTtl": 100,
- "schema": {
- "columns": [
- {
- "name": "columnA",
- "type": "Ascii"
- }
- ],
- "partitionKeys": [
- {
- "name": "columnA"
- }
- ],
- "clusterKeys": [
- {
- "name": "columnA",
- "orderBy": "Asc"
- }
- ]
+ "resource": {
+ "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
index e732ddcc4976..84b1fc4cac4e 100644
--- 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
@@ -16,9 +16,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCassandraTableThroughputUpdate.json
index d5d1eb77721f..74a6e8c484e1 100644
--- 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
@@ -23,9 +23,14 @@
"name": "default",
"type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBCollectionGetMetricDefinitions.json
index 3bdf5f342167..bb93c8f9ae10 100644
--- 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
@@ -28,7 +28,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountCreateMax.json
index 40ce869a85cf..d769de814c01 100644
--- 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
@@ -52,6 +52,7 @@
"ipRangeFilter": "10.10.10.10",
"isVirtualNetworkFilterEnabled": true,
"databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
"defaultConsistencyLevel": "BoundedStaleness",
"maxIntervalInSeconds": 10,
@@ -82,6 +83,22 @@
"isZoneRedundant": false
}
],
+ "locations": [
+ {
+ "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",
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
index 284059db0daa..5f9b237619aa 100644
--- 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
@@ -31,6 +31,7 @@
"provisioningState": "Initializing",
"ipRangeFilter": "",
"databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
"defaultConsistencyLevel": "Session",
"maxIntervalInSeconds": 5,
@@ -54,6 +55,15 @@
"isZoneRedundant": false
}
],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
"failoverPolicies": [
{
"id": "ddb1-southcentralus",
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
index fcea79dd152d..cebc2790fb41 100644
--- 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
@@ -21,6 +21,7 @@
"isVirtualNetworkFilterEnabled": false,
"virtualNetworkRules": [],
"databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
"defaultConsistencyLevel": "Session",
"maxIntervalInSeconds": 5,
@@ -44,6 +45,15 @@
"failoverPriority": 0
}
],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
"failoverPolicies": [
{
"id": "ddb1-eastus",
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
index b55ed88f43e6..8678381c56fc 100644
--- 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
@@ -26,7 +26,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBDatabaseAccountList.json
index 596d8b9df880..ec521400f47e 100644
--- 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
@@ -19,6 +19,7 @@
"documentEndpoint": "https://ddb1.documents.azure.com:443/",
"ipRangeFilter": "",
"databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
"defaultConsistencyLevel": "Session",
"maxIntervalInSeconds": 5,
@@ -42,6 +43,15 @@
"failoverPriority": 0
}
],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
"failoverPolicies": [
{
"id": "ddb1-eastus",
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
index 4947086025bc..9b1dd75a48ca 100644
--- 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
@@ -20,6 +20,7 @@
"documentEndpoint": "https://ddb1.documents.azure.com:443/",
"ipRangeFilter": "",
"databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
"defaultConsistencyLevel": "Session",
"maxIntervalInSeconds": 5,
@@ -43,6 +44,15 @@
"failoverPriority": 0
}
],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
"failoverPolicies": [
{
"id": "ddb1-eastus",
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
index b1e2102b6bc8..12a688594e63 100644
--- 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
@@ -5,8 +5,24 @@
"api-version": "2019-08-01",
"subscriptionId": "subid",
"updateParameters": {
+ "location": "westus",
"tags": {
"dept": "finance"
+ },
+ "properties": {
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ }
}
}
},
@@ -18,16 +34,20 @@
"location": "West US",
"type": "Microsoft.DocumentDB/databaseAccounts",
"kind": "GlobalDocumentDB",
- "tags": {},
+ "tags": {
+ "dept": "finance"
+ },
"properties": {
"provisioningState": "Succeeded",
"documentEndpoint": "https://ddb1.documents.azure.com:443/",
- "ipRangeFilter": "",
"databaseAccountOfferType": "Standard",
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "disableKeyBasedMetadataWriteAccess": false,
"consistencyPolicy": {
- "defaultConsistencyLevel": "Session",
- "maxIntervalInSeconds": 5,
- "maxStalenessPrefix": 100
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
},
"writeLocations": [
{
@@ -47,12 +67,27 @@
"failoverPriority": 0
}
],
+ "locations": [
+ {
+ "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
}
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
]
}
}
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
index a27df0e5f865..3fa96487396e 100644
--- 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
@@ -27,7 +27,7 @@
],
"primaryAggregationType": "Total",
"unit": "Count",
- "resourceUri": "\/subscriptions\/subId\/resourceGroups\/rg1\/providers\/Microsoft.DocumentDB\/databaseAccounts\/ddb1",
+ "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/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json
index e6172ea1ba7d..3df32017cdb9 100644
--- 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
@@ -25,10 +25,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ "resource": {
+ "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/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseGet.json
index bb04140eab3b..be78978c5251 100644
--- 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
@@ -15,10 +15,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ "resource": {
+ "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
index f664c1ca1de6..7883198c7b44 100644
--- 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
@@ -16,10 +16,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ "resource": {
+ "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
index a97f98b8a1a2..11114fea4332 100644
--- 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
@@ -15,9 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
index e3aa8db7023d..ba55df841c5e 100644
--- 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
@@ -24,9 +24,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphCreateUpdate.json
index a7a026f0df99..97605235662c 100644
--- 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
@@ -68,52 +68,54 @@
"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\""
+ "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"
+ },
+ "_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/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphGet.json
index 37dc59a19be6..286e66857d87 100644
--- 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
@@ -14,52 +14,54 @@
"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\""
+ "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"
+ },
+ "_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
index 58848564a518..5e77051820b7 100644
--- 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
@@ -15,52 +15,54 @@
"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\""
+ "resource": {
+ "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
index 39b9a7d1a53b..632fc34c6754 100644
--- 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
@@ -16,9 +16,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBGremlinGraphThroughputUpdate.json
index 12990bf1f79e..e61f6c538da7 100644
--- 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
@@ -25,9 +25,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json
index 51fe1f57deab..ec3e14f53670 100644
--- 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
@@ -42,22 +42,24 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "collectionName",
- "indexes": [
- {
- "key": {
- "keys": [
- "testKey"
- ]
- },
- "options": {
- "expireAfterSeconds": 100,
- "unique": true
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
}
+ ],
+ "shardKey": {
+ "testKey": "Hash"
}
- ],
- "shardKey": {
- "testKey": "Hash"
}
}
}
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
index e97dc527ea55..ca59ac7cad01 100644
--- 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
@@ -16,26 +16,28 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "testcoll",
- "indexes": [
- {
- "key": {
- "keys": [
- "testKey"
- ]
- },
- "options": {
- "expireAfterSeconds": 100,
- "unique": true
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
}
- }
- ],
- "shardKey": {
- "testKey": "Hash"
- },
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ ],
+ "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
index 866ec8bf9b49..605e0cff01aa 100644
--- 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
@@ -17,22 +17,24 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "testcoll",
- "indexes": [
- {
- "key": {
- "keys": [
- "testKey"
- ]
- },
- "options": {
- "expireAfterSeconds": 100,
- "unique": true
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
}
+ ],
+ "shardKey": {
+ "testKey": "Hash"
}
- ],
- "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
index 56d92fe1cea9..7b02023e72a0 100644
--- 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
@@ -16,9 +16,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
index 910237b6b9af..f16958625892 100644
--- 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
@@ -25,9 +25,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
index 054c0c8a06e0..6ba3532767ae 100644
--- 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
@@ -25,7 +25,9 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "updatedDatabaseName"
+ "resource": {
+ "id": "updatedDatabaseName"
+ }
}
}
},
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
index a2be091adc94..9d288c3763d5 100644
--- 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
@@ -15,10 +15,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index c26c84e9e400..ee2a41097e9a 100644
--- 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
@@ -16,7 +16,9 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName"
+ "resource": {
+ "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
index 8142d273a557..6788390e79aa 100644
--- 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
@@ -15,9 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
index 4e0820837fed..b6b35de790bc 100644
--- 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
@@ -24,9 +24,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerCreateUpdate.json
index 9cae1d332f38..bbfec44079c8 100644
--- 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
@@ -68,52 +68,54 @@
"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\""
+ "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"
+ },
+ "_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/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerGet.json
index a635e39ba446..d526e8f7b127 100644
--- 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
@@ -16,52 +16,54 @@
"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\""
+ "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"
+ },
+ "_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
index c6d1bbb3b00d..98e029969bc7 100644
--- 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
@@ -17,52 +17,54 @@
"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\""
+ "resource": {
+ "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
index 60c7662a5877..342748c7954f 100644
--- 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
@@ -16,9 +16,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlContainerThroughputUpdate.json
index 520502b78f3e..0ba355234988 100644
--- 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
@@ -25,9 +25,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseCreateUpdate.json
index 0410791fdefe..831919b77c6f 100644
--- 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
@@ -25,10 +25,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ "resource": {
+ "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/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseGet.json
index 46e06b47313a..b331bb10ff41 100644
--- 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
@@ -15,12 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
- "_colls": "colls\/",
- "_users": "users\/"
+ "resource": {
+ "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
index 17cde7a9fc66..6ea0774d5dbd 100644
--- 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
@@ -16,12 +16,14 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "databaseName",
- "_rid": "CqNBAA==",
- "_ts": 1449602962,
- "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
- "_colls": "colls\/",
- "_users": "users\/"
+ "resource": {
+ "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
index b965d1eb7f4d..d7caebe04e19 100644
--- 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
@@ -15,9 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json
index a2ee9fb5d209..8eeed244ebd6 100644
--- 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
@@ -24,9 +24,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
index d47ade2afa30..a97cba57cc85 100644
--- 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
@@ -24,11 +24,13 @@
"name": "storedProcedureName",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
"properties": {
- "id": "storedProcedureName",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlStoredProcedureGet.json
index 5f1ed2c32bb4..2807db3fc8e6 100644
--- 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
@@ -15,11 +15,13 @@
"name": "storedProcedureName",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
"properties": {
- "id": "storedProcedureName",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index aa1ee46c80c1..e3de033ec0c2 100644
--- 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
@@ -16,11 +16,13 @@
"name": "testctn",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
"properties": {
- "id": "testctn",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index 6b8597658595..aeb488076b3b 100644
--- 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
@@ -26,13 +26,15 @@
"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\""
+ "resource": {
+ "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/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlTriggerGet.json
index 2d3763200ef5..2e8936db5d64 100644
--- 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
@@ -15,13 +15,15 @@
"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\""
+ "resource": {
+ "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
index eb8bdac950a8..f44fc8c1cee8 100644
--- 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
@@ -16,13 +16,15 @@
"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\""
+ "resource": {
+ "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
index 83560d89911a..92e87a555057 100644
--- 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
@@ -24,11 +24,13 @@
"name": "userDefinedFunctionName",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
"properties": {
- "id": "userDefinedFunctionName",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBSqlUserDefinedFunctionGet.json
index 72ae737f8d97..efb53293dd17 100644
--- 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
@@ -15,11 +15,13 @@
"name": "userDefinedFunctionName",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
"properties": {
- "id": "userDefinedFunctionName",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index 9f11aeb4bbb5..0cb4ced989f4 100644
--- 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
@@ -16,11 +16,13 @@
"name": "testctn",
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
"properties": {
- "id": "testctn",
- "body": "body",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index 016aaffbf69b..5de5b8d2ba77 100644
--- 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
@@ -24,7 +24,9 @@
"type": "Microsoft.DocumentDB/databaseAccounts/tables",
"location": "West US",
"properties": {
- "id": "tableName"
+ "resource": {
+ "id": "tableName"
+ }
}
}
},
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
index ea9c4ba7f7f6..b9130ace6f04 100644
--- 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
@@ -15,10 +15,12 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "tableName",
- "_rid": "PD5DALigDgw=",
- "_ts": 1459200611,
- "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ "resource": {
+ "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
index caecd45cf3d2..04fee06feea4 100644
--- 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
@@ -16,7 +16,9 @@
"location": "West US",
"tags": {},
"properties": {
- "id": "tableName"
+ "resource": {
+ "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
index f4a79e5b7d0e..b31c7c146c19 100644
--- 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
@@ -15,9 +15,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_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/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-08-01/examples/CosmosDBTableThroughputUpdate.json
index 4760c2ecfc9a..cb1ac02e2d6b 100644
--- 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
@@ -24,9 +24,14 @@
"location": "West US",
"tags": {},
"properties": {
- "throughput": 400,
- "minimumThroughput": "400",
- "offerReplacePending": "true"
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
}
}
},
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
new file mode 100644
index 000000000000..018309c5d2ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
@@ -0,0 +1,7223 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2019-12-12"
+ },
+ "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_Update",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountPatch": {
+ "$ref": "./examples/CosmosDBDatabaseAccountPatch.json"
+ }
+ },
+ "description": "Updates 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/DatabaseAccountUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account update operation will complete asynchronously.",
+ "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. The \"Update\" method is preferred when performing updates on an 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",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "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": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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",
+ "properties": {
+ "resource": {
+ "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"
+ }
+ },
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the 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"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ }
+ },
+ "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"
+ ]
+ },
+ "DatabaseAccountUpdateProperties": {
+ "description": "Properties to 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"
+ }
+ },
+ "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"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ }
+ }
+ },
+ "DatabaseAccountUpdateParameters": {
+ "description": "Parameters for patching Azure Cosmos DB database account properties.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "compositeIndexes": {
+ "description": "List of composite path list",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePathList"
+ }
+ },
+ "spatialIndexes": {
+ "description": "List of spatial specifics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialSpec"
+ }
+ }
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "CompositePathList": {
+ "description": "List of composite path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePath"
+ }
+ },
+ "CompositePath": {
+ "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/*)"
+ },
+ "order": {
+ "description": "Sort order for composite paths.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ],
+ "x-ms-enum": {
+ "name": "CompositePathSortOrder",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SpatialSpec": {
+ "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/*)"
+ },
+ "types": {
+ "description": "List of path's spatial type",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialType"
+ }
+ }
+ }
+ },
+ "SpatialType": {
+ "description": "Indicates the spatial type of index.",
+ "type": "string",
+ "enum": [
+ "Point",
+ "LineString",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "SpatialType",
+ "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
+ }
+ },
+ "version": {
+ "description": "Indicates the version of the partition key definition",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2,
+ "format": "int32"
+ }
+ }
+ },
+ "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-12-12/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..c9cdc441763f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..d966adffcf6b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..48a5ce143b91
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "keyspaceName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..bd5554c827dd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..f2184f2b0aed
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..f2eaf4b7fa2f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..f241fbee7b2c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..772f83b1cc9d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..32616174062f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..511cad95501e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..77dc7bb4b819
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..4d4b15c3fca7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..d9c5c996141e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..5b2b370b96cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..2b59a4048e92
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..795c3b48e6ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..eba6762ffc8f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..a1e6f62535b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..f3f36001fa50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2019-12-12"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..f41a4f7fecca
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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
+ },
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net"
+ }
+ }
+ },
+ "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",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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"
+ }
+ ],
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..a48cdb597629
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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-12-12/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..41d3416b09fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..f0efee8dd426
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..ad0ed4f8c1fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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-12-12/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..b5c754942401
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-12-12"
+ },
+ "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-12-12/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..53de6ec49266
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..a5313431be90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..59566629c3b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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-12-12/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..3bd06aa32071
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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-12-12/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..74569294c4b1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..c21a810db45d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..5e1d50b654e4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..917ceb3861a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..6810f044fb32
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..fe8c6a4e5097
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..6654cdf7a760
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "updateParameters": {
+ "location": "westus",
+ "tags": {
+ "dept": "finance"
+ },
+ "properties": {
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": 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": {
+ "dept": "finance"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "databaseAccountOfferType": "Standard",
+ "ipRangeFilter": "10.10.10.10",
+ "isVirtualNetworkFilterEnabled": true,
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "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
+ }
+ ],
+ "locations": [
+ {
+ "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
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..6d37f0abd5bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..62a357daba65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..39180f7d0610
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..f96792e7cce5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..5fc9ca37f0be
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..99ef49980044
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..f2025b02d8d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..d64d1c030181
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..52ee8b41004d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..fca539a23ae0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..ca89703198de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..3624447acc5b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "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"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..e353034f844d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..bda14f85b859
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "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"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..dd651c325694
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testgrf",
+ "name": "testgrf",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "resource": {
+ "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-12-12/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..d2dd9eb24185
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..a5f49b59727b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..40ebdba6f576
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..cca72c1d48e3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..a1c8acf3384d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..7c55a1280260
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..0c415decff50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..e58ff2a84a7b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..042f140ce1b7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..f2025b02d8d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..af3adea20143
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..bbb7e8b682ab
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "databaseName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..4c4a2f8a7b33
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..05c9bb42f4a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..d8935970dd49
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12"
+ },
+ "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-12-12/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..161446a2d65f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..91f0eea8deb8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..7691edb62a0f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..0c63348b9b3e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..88479bf9daca
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..4dcd10b04038
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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-12-12/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..cba6196568db
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "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"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..b80eb80f9192
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..8f11a75bb85f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "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"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..8d497d40cf50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..ad0fc7a33e59
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..1266e55edc95
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..34392aefe4f9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..f2025b02d8d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..a4175f7e4210
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..e766516aabda
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..52c14d4f25c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b0ae85112337
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..ae44bf32b441
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..d51a2cfd6953
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..147db1191b1a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..4123a198c84b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..7e14d24cfe48
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..b092a10244ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..e5b4538fb7dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..3f0b100ec84d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..7ba380af4de4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..da6a208e8744
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..1609824157de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..bab88b6013c8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "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-12-12/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..1f3d3cf15070
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..942ea0e17b14
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..19aef684f3a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "tableName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..aa670cacddb4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..bb407243e0a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..80b4630e795e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-12",
+ "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": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index 91ccd4fa86fc..7f941e8877aa 100644
--- a/specification/cosmos-db/resource-manager/readme.go.md
+++ b/specification/cosmos-db/resource-manager/readme.go.md
@@ -13,9 +13,39 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-12
+ - tag: package-2019-08
+ - tag: package-2019-08-preview
- tag: package-2015-04
```
+### Tag: package-2019-12 and go
+
+These settings apply only when `--tag=package-2019-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2019-12-12/$(namespace)
+```
+
+### 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/cosmos-db/mgmt/2019-08-01/$(namespace)
+```
+
+### Tag: package-2019-08-preview and go
+
+These settings apply only when `--tag=package-2019-08-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-08-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2019-08-01-preview/$(namespace)
+```
+
### Tag: package-2015-04 and go
These settings apply only when `--tag=package-2015-04 --go` is specified on the command line.
@@ -23,4 +53,40 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2014-04' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2014-04/$(namespace)
+```
+
+### Tag: package-2015-11 and go
+
+These settings apply only when `--tag=package-2015-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2015-11' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2015-11-06/$(namespace)
+```
+
+### Tag: package-2016-03-19 and go
+
+These settings apply only when `--tag=package-2016-03-19 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2016-03-19' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2016-03-19/$(namespace)
+```
+
+### Tag: package-2016-03-31 and go
+
+These settings apply only when `--tag=package-2016-03-31 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2016-03-31' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2016-03-31/$(namespace)
+```
diff --git a/specification/cosmos-db/resource-manager/readme.java.md b/specification/cosmos-db/resource-manager/readme.java.md
index f1f569a270c2..7c4b648f32c1 100644
--- a/specification/cosmos-db/resource-manager/readme.java.md
+++ b/specification/cosmos-db/resource-manager/readme.java.md
@@ -17,9 +17,51 @@ service-name: CosmosDB
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-12
+ - tag: package-2019-08
+ - tag: package-2019-08-preview
- tag: package-2015-04
```
+### Tag: package-2019-12 and java
+
+These settings apply only when `--tag=package-2019-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2019_12_12
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2019_12_12
+regenerate-manager: true
+generate-interface: true
+```
+
+### 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=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2019_08_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-08-preview and java
+
+These settings apply only when `--tag=package-2019-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2019_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2019_08_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2015-04 and java
These settings apply only when `--tag=package-2015-04 --java` is specified on the command line.
@@ -28,7 +70,59 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2014-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2014_04_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2014_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2015-11 and java
+
+These settings apply only when `--tag=package-2015-11 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2015-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2015_11_06
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2015_11_06
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2016-03-19 and java
+
+These settings apply only when `--tag=package-2016-03-19 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2016-03-19' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2016_03_19
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2016_03_19
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2016-03-31 and java
+
+These settings apply only when `--tag=package-2016-03-31 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2016-03-31' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2016_03_31
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmosdb/mgmt-v2016_03_31
regenerate-manager: true
generate-interface: true
```
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index ecef4cd32fe3..c6b3020e2a6b 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -25,15 +25,20 @@ To see additional help and options, run:
These are the global settings for the Cosmos-DB API.
``` yaml
+title: CosmosDBManagementClient
openapi-type: arm
+tag: package-2019-12
```
-``` yaml
-tag: package-2019-08
-```
+### Tag: package-2019-12
-``` yaml
-tag: package-2015-04
+These settings apply only when `--tag=package-2019-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-12'
+input-file:
+- Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
```
### Tag: package-2019-08
@@ -53,6 +58,7 @@ These settings apply only when `--tag=package-2019-08-preview` is specified on t
input-file:
- Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
```
### Tag: package-2015-04
@@ -64,6 +70,42 @@ input-file:
- Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
```
+### Tag: package-2014-04
+
+These settings apply only when `--tag=package-2014-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2014-04'
+input-file:
+- Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
+```
+
+### Tag: package-2015-11
+
+These settings apply only when `--tag=package-2015-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-11'
+input-file:
+- Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
+```
+
+### Tag: package-2016-03-19
+
+These settings apply only when `--tag=package-2016-03-19` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-03-19'
+input-file:
+- Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
+```
+
+### Tag: package-2016-03-31
+
+These settings apply only when `--tag=package-2016-03-31` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-03-31'
+input-file:
+- Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
+```
+
## Suppression
``` yaml
directive:
@@ -148,6 +190,20 @@ swagger-to-sdk:
```
+## 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.CosmosDB
+ output-folder: $(csharp-sdks-folder)/cosmosdb/Microsoft.Azure.Management.CosmosDB/src/Generated
+ clear-output-folder: true
+```
+
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -167,9 +223,15 @@ 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/stable/2019-12-12/cosmos-db.json
- $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+ - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
- $(this-folder)/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
```
diff --git a/specification/cosmos-db/resource-manager/readme.typescript.md b/specification/cosmos-db/resource-manager/readme.typescript.md
index e9a24c5e0332..5f0942e0a68c 100644
--- a/specification/cosmos-db/resource-manager/readme.typescript.md
+++ b/specification/cosmos-db/resource-manager/readme.typescript.md
@@ -8,6 +8,7 @@ typescript:
azure-arm: true
package-name: "@azure/arm-cosmosdb"
output-folder: "$(typescript-sdks-folder)/sdk/cosmosdb/arm-cosmosdb"
+ clear-output-folder: true
override-client-name: CosmosDBManagementClient
generate-metadata: true
```
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/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
new file mode 100644
index 000000000000..09464516c550
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
@@ -0,0 +1,1519 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-10-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_List",
+ "description": "Lists the dimensions by the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList-Legacy": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ },
+ "ResourceGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ },
+ "DepartmentDimensionsList-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingProfileDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsList.json"
+ },
+ "BillingProfileDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
+ },
+ "BillingProfileDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
+ },
+ "InvoiceSectionDimensionsList-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
+ },
+ "InvoiceSectionDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
+ },
+ "InvoiceSectionDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
+ },
+ "CustomerDimensionsList-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsList.json"
+ },
+ "CustomerDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
+ },
+ "CustomerDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListWithFilter.json"
+ },
+ "ExternalBillingAccountDimensionList": {
+ "$ref": "./examples/ExternalBillingAccountsDimensions.json"
+ },
+ "ExternalSubscriptionDimensionList": {
+ "$ref": "./examples/ExternalSubscriptionsDimensions.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_Usage",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery-Legacy": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "SubscriptionQueryGrouping-Legacy": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery-Legacy": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Legacy": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery-Legacy": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping-Legacy": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery-Legacy": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Modern": {
+ "$ref": "./examples/MCABillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingAccountQueryGrouping.json"
+ },
+ "BillingProfileQuery-Modern": {
+ "$ref": "./examples/MCABillingProfileQuery.json"
+ },
+ "BillingProfileQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingProfileQueryGrouping.json"
+ },
+ "InvoiceSectionQuery-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQuery.json"
+ },
+ "InvoiceSectionQueryGrouping-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
+ },
+ "CustomerQuery-Modern": {
+ "$ref": "./examples/MCACustomerQuery.json"
+ },
+ "CustomerQueryGrouping-Modern": {
+ "$ref": "./examples/MCACustomerQueryGrouping.json"
+ },
+ "ExternalBillingAccountQueryList": {
+ "$ref": "./examples/ExternalBillingAccountsQuery.json"
+ },
+ "ExternalSubscriptionsQuery": {
+ "$ref": "./examples/ExternalSubscriptionsQuery.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"
+ }
+ }
+ }
+ }
+ },
+ "/{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": {
+ "description": "Dimension description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filterEnabled": {
+ "description": "Filter enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "groupingEnabled": {
+ "description": "Grouping enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "description": "Dimension data item.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "total": {
+ "description": "Total number of data for the dimension.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ },
+ "category": {
+ "description": "Dimension category.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "description": "Array of rows",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of column.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of column.",
+ "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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners, 'providers/Microsoft.CostManagement/ExternalSubscriptions/{externalSubscriptionId}' for linked account and 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for consolidated account",
+ "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, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners, 'providers/Microsoft.CostManagement/ExternalSubscriptions/{externalSubscriptionId}' for linked account and 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountId}' for consolidated account",
+ "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-10-01."
+ },
+ "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-10-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..8f2f6f365cb4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..b5521f5bfb68
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..572606fcd52a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..80d3082985f3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..cc666efa60dd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..4aa6dec17440
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..066a3bc16f25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..f486f6e36fa2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..59cd36defe51
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-10-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..27ae96d00be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-10-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..1c23de80068c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..98551eb4e953
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..7de518cb7769
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..d8adb4734eea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-10-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..0abc39cf554c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-10-01/examples/ExportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByBillingAccount.json
new file mode 100644
index 000000000000..b26f828bc357
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByBillingAccount.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByDepartment.json
new file mode 100644
index 000000000000..d11ad0ad975b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByDepartment.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByEnrollmentAccount.json
new file mode 100644
index 000000000000..b0bce06ad682
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByEnrollmentAccount.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByManagementGroup.json
new file mode 100644
index 000000000000..1290e445f707
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByManagementGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByResourceGroup.json
new file mode 100644
index 000000000000..e3beba0c8343
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportBySubscription.json
new file mode 100644
index 000000000000..76e5cff1b6fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportBySubscription.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..aea12dd18fa4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..c16d6e3a1c28
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..f77e82a0de3f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..af6a151d25f7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..26f5b7029b70
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..a9a858270c77
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..83c165df44b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..3ecc3e257800
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..8f65eb4822fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..a1ed453f872c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..81b2eda0c457
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..82f1d8081dc5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByBillingAccount.json
new file mode 100644
index 000000000000..83c165df44b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByDepartment.json
new file mode 100644
index 000000000000..3ecc3e257800
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByEnrollmentAccount.json
new file mode 100644
index 000000000000..8f65eb4822fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByManagementGroup.json
new file mode 100644
index 000000000000..a1ed453f872c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByResourceGroup.json
new file mode 100644
index 000000000000..81b2eda0c457
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionBySubscription.json
new file mode 100644
index 000000000000..82f1d8081dc5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByBillingAccount.json
new file mode 100644
index 000000000000..4fb134ee1f8c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByBillingAccount.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByDepartment.json
new file mode 100644
index 000000000000..de165f29c5c3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByDepartment.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByEnrollmentAccount.json
new file mode 100644
index 000000000000..8128b50e68b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-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-10-01/examples/ExportExecutionListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByManagementGroup.json
new file mode 100644
index 000000000000..1e9a65bf7174
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByManagementGroup.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByResourceGroup.json
new file mode 100644
index 000000000000..e86174909e1b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListByResourceGroup.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportExecutionListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListBySubscription.json
new file mode 100644
index 000000000000..01e75509fc57
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportExecutionListBySubscription.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByBillingAccount.json
new file mode 100644
index 000000000000..d49ef5d803db
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByBillingAccount.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByDepartment.json
new file mode 100644
index 000000000000..7da006e80592
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByDepartment.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByEnrollmentAccount.json
new file mode 100644
index 000000000000..399b2f759670
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByEnrollmentAccount.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByManagementGroup.json
new file mode 100644
index 000000000000..a0d02300d2d9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByManagementGroup.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByResourceGroup.json
new file mode 100644
index 000000000000..feacef7c6bf0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListByResourceGroup.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExportListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListBySubscription.json
new file mode 100644
index 000000000000..813bb6a84f32
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExportListBySubscription.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ExternalBillingAccountsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalBillingAccountsDimensions.json
new file mode 100644
index 000000000000..272f944d0a62
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalBillingAccountsDimensions.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "externalBillingAccountId": "100",
+ "scope": "providers/Microsoft.CostManagement/externalBillingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalBillingAccountsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalBillingAccountsQuery.json
new file mode 100644
index 000000000000..634b5e15f5a1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalBillingAccountsQuery.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "externalBillingAccountId": "100",
+ "scope": "providers/Microsoft.CostManagement/externalBillingAccounts/100",
+ "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": {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [{
+ "name": "PreTaxCost",
+ "type": "Number"
+ }, {
+ "name": "ServiceName",
+ "type": "String"
+ }, {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [0.0, "abc db", "USD"],
+ [30.2572751438, "abc compute cloud", "USD"],
+ [0.076757602000000022, "abc file system", "USD"],
+ [50.430964190400012, "abc elasticache", "USD"]
+ ]}
+ }
+ }
+ }
+ }
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsDimensions.json
new file mode 100644
index 000000000000..44a1f404f772
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsDimensions.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "externalSubscriptionId": "100",
+ "scope": "providers/Microsoft.CostManagement/externalSubscriptions/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsQuery.json
new file mode 100644
index 000000000000..707c2a0294f9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ExternalSubscriptionsQuery.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "externalSubscriptionId": "123",
+ "scope": "providers/Microsoft.CostManagement/externalSubscriptions/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": {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/query/d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "name": "d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [{
+ "name": "PreTaxCost",
+ "type": "Number"
+ }, {
+ "name": "UsageDate",
+ "type": "Number"
+ }, {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsList.json
new file mode 100644
index 000000000000..accdaebf5212
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..81839ef51c4e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..ab76379cbce0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountQuery.json
new file mode 100644
index 000000000000..8abfb5dc2eca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/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/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..648ebf053be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/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/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsList.json
new file mode 100644
index 000000000000..11d84a74f6c9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..2102cbb9407a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListWithFilter.json
new file mode 100644
index 000000000000..118eda5d0cfd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileQuery.json
new file mode 100644
index 000000000000..89e2f2fb78ca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/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/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileQueryGrouping.json
new file mode 100644
index 000000000000..3946eb12c2cf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCABillingProfileQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/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/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsList.json
new file mode 100644
index 000000000000..0a63b2667392
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..738eb52bf1f8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListWithFilter.json
new file mode 100644
index 000000000000..dc9903eb348a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerQuery.json
new file mode 100644
index 000000000000..41a095e8750c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/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/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerQueryGrouping.json
new file mode 100644
index 000000000000..a4629cc12c8c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCACustomerQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/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/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsList.json
new file mode 100644
index 000000000000..381d346fa3ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..17dedb5444fc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
new file mode 100644
index 000000000000..9dc3219f73e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionQuery.json
new file mode 100644
index 000000000000..ddacc8d3b487
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/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/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionQueryGrouping.json
new file mode 100644
index 000000000000..c680c09d1ac3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/MCAInvoiceSectionQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/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/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..46d654b664b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..616047e5e4bf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..de501d6cc1ee
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..8bb619cee8e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-10-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..958f6e65481a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$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-10-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..d0f789435863
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..052910483e76
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..bf515793c726
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..89e401409972
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..cdd160f87e20
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionQuery.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..48b607773991
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
new file mode 100644
index 000000000000..ff05dfd68c52
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
@@ -0,0 +1,1478 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-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_List",
+ "description": "Lists the dimensions by the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList-Legacy": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ },
+ "ResourceGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ },
+ "DepartmentDimensionsList-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingProfileDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsList.json"
+ },
+ "BillingProfileDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
+ },
+ "BillingProfileDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
+ },
+ "InvoiceSectionDimensionsList-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
+ },
+ "InvoiceSectionDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
+ },
+ "InvoiceSectionDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
+ },
+ "CustomerDimensionsList-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsList.json"
+ },
+ "CustomerDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
+ },
+ "CustomerDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListWithFilter.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_Usage",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery-Legacy": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "SubscriptionQueryGrouping-Legacy": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery-Legacy": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Legacy": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery-Legacy": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping-Legacy": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery-Legacy": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Modern": {
+ "$ref": "./examples/MCABillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingAccountQueryGrouping.json"
+ },
+ "BillingProfileQuery-Modern": {
+ "$ref": "./examples/MCABillingProfileQuery.json"
+ },
+ "BillingProfileQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingProfileQueryGrouping.json"
+ },
+ "InvoiceSectionQuery-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQuery.json"
+ },
+ "InvoiceSectionQueryGrouping-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
+ },
+ "CustomerQuery-Modern": {
+ "$ref": "./examples/MCACustomerQuery.json"
+ },
+ "CustomerQueryGrouping-Modern": {
+ "$ref": "./examples/MCACustomerQueryGrouping.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"
+ }
+ }
+ }
+ }
+ },
+ "/{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": {
+ "description": "Dimension description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filterEnabled": {
+ "description": "Filter enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "groupingEnabled": {
+ "description": "Grouping enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "description": "Dimension data item.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "total": {
+ "description": "Total number of data for the dimension.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ },
+ "category": {
+ "description": "Dimension category.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "description": "Array of rows",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of column.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of column.",
+ "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",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "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": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "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"
+ ],
+ "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
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the query.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "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. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
+ "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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "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, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "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-11-01."
+ },
+ "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-11-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..8f2f6f365cb4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..b5521f5bfb68
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..572606fcd52a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..80d3082985f3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..cc666efa60dd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..4aa6dec17440
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..066a3bc16f25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..f486f6e36fa2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..59cd36defe51
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-11-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..27ae96d00be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-11-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..1c23de80068c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..98551eb4e953
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..7de518cb7769
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..d8adb4734eea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-10-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-11-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..34d2421e5a3a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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-10-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-11-01/examples/ExportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByBillingAccount.json
new file mode 100644
index 000000000000..b26f828bc357
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByBillingAccount.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByDepartment.json
new file mode 100644
index 000000000000..d11ad0ad975b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByDepartment.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByEnrollmentAccount.json
new file mode 100644
index 000000000000..b0bce06ad682
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByEnrollmentAccount.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByManagementGroup.json
new file mode 100644
index 000000000000..1290e445f707
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByManagementGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByResourceGroup.json
new file mode 100644
index 000000000000..e3beba0c8343
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportBySubscription.json
new file mode 100644
index 000000000000..76e5cff1b6fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportBySubscription.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..aea12dd18fa4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..c16d6e3a1c28
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..f77e82a0de3f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..af6a151d25f7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..26f5b7029b70
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,288 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..a9a858270c77
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..83c165df44b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..3ecc3e257800
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..8f65eb4822fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..a1ed453f872c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..81b2eda0c457
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..82f1d8081dc5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByBillingAccount.json
new file mode 100644
index 000000000000..83c165df44b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByDepartment.json
new file mode 100644
index 000000000000..3ecc3e257800
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByEnrollmentAccount.json
new file mode 100644
index 000000000000..8f65eb4822fe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByManagementGroup.json
new file mode 100644
index 000000000000..a1ed453f872c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByResourceGroup.json
new file mode 100644
index 000000000000..81b2eda0c457
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionBySubscription.json
new file mode 100644
index 000000000000..82f1d8081dc5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByBillingAccount.json
new file mode 100644
index 000000000000..4fb134ee1f8c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByBillingAccount.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByDepartment.json
new file mode 100644
index 000000000000..de165f29c5c3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByDepartment.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByEnrollmentAccount.json
new file mode 100644
index 000000000000..8128b50e68b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-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-11-01/examples/ExportExecutionListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByManagementGroup.json
new file mode 100644
index 000000000000..1e9a65bf7174
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByManagementGroup.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByResourceGroup.json
new file mode 100644
index 000000000000..e86174909e1b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListByResourceGroup.json
@@ -0,0 +1,199 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportExecutionListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListBySubscription.json
new file mode 100644
index 000000000000..01e75509fc57
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportExecutionListBySubscription.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByBillingAccount.json
new file mode 100644
index 000000000000..d49ef5d803db
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByBillingAccount.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByDepartment.json
new file mode 100644
index 000000000000..7da006e80592
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByDepartment.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByEnrollmentAccount.json
new file mode 100644
index 000000000000..399b2f759670
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByEnrollmentAccount.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByManagementGroup.json
new file mode 100644
index 000000000000..a0d02300d2d9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByManagementGroup.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByResourceGroup.json
new file mode 100644
index 000000000000..feacef7c6bf0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListByResourceGroup.json
@@ -0,0 +1,175 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ExportListBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListBySubscription.json
new file mode 100644
index 000000000000..813bb6a84f32
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ExportListBySubscription.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsList.json
new file mode 100644
index 000000000000..accdaebf5212
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..81839ef51c4e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..ab76379cbce0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountQuery.json
new file mode 100644
index 000000000000..8abfb5dc2eca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/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/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..648ebf053be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/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/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsList.json
new file mode 100644
index 000000000000..11d84a74f6c9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..2102cbb9407a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListWithFilter.json
new file mode 100644
index 000000000000..118eda5d0cfd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileQuery.json
new file mode 100644
index 000000000000..89e2f2fb78ca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/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/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileQueryGrouping.json
new file mode 100644
index 000000000000..3946eb12c2cf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCABillingProfileQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/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/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsList.json
new file mode 100644
index 000000000000..0a63b2667392
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..738eb52bf1f8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListWithFilter.json
new file mode 100644
index 000000000000..dc9903eb348a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerQuery.json
new file mode 100644
index 000000000000..41a095e8750c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/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/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerQueryGrouping.json
new file mode 100644
index 000000000000..a4629cc12c8c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCACustomerQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/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/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsList.json
new file mode 100644
index 000000000000..381d346fa3ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..17dedb5444fc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
new file mode 100644
index 000000000000..9dc3219f73e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "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": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionQuery.json
new file mode 100644
index 000000000000..ddacc8d3b487
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "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": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/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/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionQueryGrouping.json
new file mode 100644
index 000000000000..c680c09d1ac3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/MCAInvoiceSectionQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/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/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..46d654b664b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..616047e5e4bf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..de501d6cc1ee
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..8bb619cee8e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-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-11-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..0f3b0ef56cd3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$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-11-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..d0f789435863
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..052910483e76
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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": {
+ "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-11-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..da7cb4d9a91f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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-11-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..89e401409972
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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-11-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..c9d3f535ad9c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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-11-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..f155bfd59622
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-10-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"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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.go.md b/specification/cost-management/resource-manager/readme.go.md
index 65727348911d..19a211b46d9d 100644
--- a/specification/cost-management/resource-manager/readme.go.md
+++ b/specification/cost-management/resource-manager/readme.go.md
@@ -16,6 +16,7 @@ batch:
- tag: package-2018-08-preview
- tag: package-2019-01
- tag: package-preview-2019-03
+ - tag: package-2019-10
```
### Tag: package-2018-05 and go
@@ -49,3 +50,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
+### Tag: package-2019-11 and go
+These settings apply only when `--tag=package-2019-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-11' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-11-01/$(namespace)
+```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 483100612d7d..4f67bba4f0e2 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -26,21 +26,48 @@ These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
-tag: package-preview-2019-04
+tag: package-2019-11
azure-validator: true
```
---
+### 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.CostManagement/stable/2019-11-01/costmanagement.json
+```
+
+### 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.CostManagement/stable/2019-10-01/costmanagement.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.CostManagement/stable/2019-09-01/costmanagement.json
+```
+
### Tag: package-preview-2019-04
These settings apply only when `--tag=package-preview-2019-04` is specified on the command line.
-```yaml $(tag) == 'package-preview-2019-04'
+``` yaml $(tag) == 'package-preview-2019-04'
input-file:
- Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
```
+
### Tag: package-2019-01
These settings apply only when `--tag=package-2019-01` is specified on the command line.
@@ -234,6 +261,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
@@ -244,7 +272,7 @@ 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)/sdk/costmanagement/mgmt-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.
@@ -301,6 +341,9 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+ - $(this-folder)/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
+ - $(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
@@ -310,11 +353,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/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md
index ab957ead38bf..7dae56441cff 100644
--- a/specification/customer-insights/resource-manager/readme.md
+++ b/specification/customer-insights/resource-manager/readme.md
@@ -119,7 +119,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+```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.CustomerLockbox
+ output-folder: $(csharp-sdks-folder)/customerlockbox/management/Microsoft.CustomerLockbox/GeneratedProtocol
+```
diff --git a/specification/customerlockbox/resource-manager/readme.go.md b/specification/customerlockbox/resource-manager/readme.go.md
new file mode 100644
index 000000000000..e97fcd863608
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/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-2018-02-28-preview and go
+
+These settings apply only when `--tag=package-2018-02-28-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2018-02-28-preview' && $(go)
+namespace: customerlockbox
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-02-28-preview/$(namespace)
+```
diff --git a/specification/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md
new file mode 100644
index 000000000000..0e67eb17a65c
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/readme.md
@@ -0,0 +1,104 @@
+# customerlockbox
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for customerlockbox.
+
+## 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 customerlockbox.
+
+```yaml
+openapi-type: arm
+tag: package-2018-02-28-preview
+```
+
+### Tag: package-2018-02-28-preview
+
+These settings apply only when `--tag=package-2018-02-28-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-02-28-preview'
+input-file:
+ - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.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_customerlockbox']
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## 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.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.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/customerlockbox/resource-manager/readme.python.md b/specification/customerlockbox/resource-manager/readme.python.md
new file mode 100644
index 000000000000..adc394696835
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/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.CustomerLockbox
+ package-name: customerlockbox
+ package-version: 2018-02-28-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/customerlockbox
+```
diff --git a/specification/customerlockbox/resource-manager/readme.ruby.md b/specification/customerlockbox/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..8043120ee678
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/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_customerlockbox
+package-version: 2018-02-28-preview
+azure-arm: true
+```
+
+### Tag: package-2018-02-28-preview and ruby
+
+These settings apply only when `--tag=package-2018-02-28-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2018-02-28-preview' && $(ruby)
+namespace: Microsoft.CustomerLockbox
+output-folder: $(ruby-sdks-folder)/customerlockbox
+```
diff --git a/specification/customerlockbox/resource-manager/readme.typescript.md b/specification/customerlockbox/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..297eaf5378c1
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "customerlockbox"
+ output-folder: "$(typescript-sdks-folder)/packages/customerlockbox"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/customproviders/resource-manager/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json b/specification/customproviders/resource-manager/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
index 24b22825f4ca..ee3f05f5b736 100644
--- a/specification/customproviders/resource-manager/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
+++ b/specification/customproviders/resource-manager/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
@@ -632,7 +632,7 @@
"endpoint": {
"type": "string",
"description": "The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}')",
- "pattern": "^https:\/\/.+"
+ "pattern": "^https://.+"
}
}
},
@@ -699,7 +699,7 @@
"specification": {
"type": "string",
"description": "A link to the validation specification. The specification must be hosted on raw.githubusercontent.com.",
- "pattern": "^https:\/\/raw.githubusercontent.com\/.+"
+ "pattern": "^https://raw.githubusercontent.com/.+"
}
}
},
diff --git a/specification/customproviders/resource-manager/readme.typescript.md b/specification/customproviders/resource-manager/readme.typescript.md
index 21682a2f4bf6..c287a421427f 100644
--- a/specification/customproviders/resource-manager/readme.typescript.md
+++ b/specification/customproviders/resource-manager/readme.typescript.md
@@ -8,6 +8,7 @@ typescript:
azure-arm: true
package-name: "customproviders"
output-folder: "$(typescript-sdks-folder)/packages/customproviders"
+ clear-output-folder: true
payload-flattening-threshold: 1
generate-metadata: true
```
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index a641dc9b64c6..9b4645df6c7c 100644
--- a/specification/databox/resource-manager/readme.md
+++ b/specification/databox/resource-manager/readme.md
@@ -152,7 +152,7 @@ Please also specify `--azure-libraries-for-java-folder= 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 order details of a device.",
+ "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}/storageAccounts": {
+ "get": {
+ "tags": [ "StorageAccounts" ],
+ "summary": "Lists all the storage accounts in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_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 StorageAccounts on the device.",
+ "schema": { "$ref": "#/definitions/StorageAccountList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "StorageAccountGetAllInDevice": {
+ "$ref": "./examples/StorageAccountGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": {
+ "get": {
+ "tags": [ "StorageAccounts" ],
+ "summary": "Gets a StorageAccount by name.",
+ "operationId": "StorageAccounts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage account name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account details.",
+ "schema": { "$ref": "#/definitions/StorageAccount" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "StorageAccountGet": {
+ "$ref": "./examples/StorageAccountGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "StorageAccounts" ],
+ "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.",
+ "operationId": "StorageAccounts_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccount",
+ "in": "body",
+ "description": "The StorageAccount properties.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/StorageAccount" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the StorageAccount.",
+ "schema": { "$ref": "#/definitions/StorageAccount" }
+ },
+ "202": { "description": "Accepted the request to create or update the StorageAccount." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountPut": {
+ "$ref": "./examples/StorageAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "StorageAccounts" ],
+ "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "202": { "description": "Accepted the request to delete the StorageAccount." },
+ "204": { "description": "The StorageAccount 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": {
+ "StorageAccountDelete": {
+ "$ref": "./examples/StorageAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": {
+ "get": {
+ "tags": [ "Containers" ],
+ "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_ListByStorageAccount",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage Account name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the containers on the device.",
+ "schema": { "$ref": "#/definitions/ContainerList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "ContainerListAllInDevice": {
+ "$ref": "./examples/ContainerListAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
+ "get": {
+ "tags": [ "Containers" ],
+ "summary": "Gets a container by name.",
+ "operationId": "Containers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container Name",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The container details.",
+ "schema": { "$ref": "#/definitions/Container" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerGet": {
+ "$ref": "./examples/ContainerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Containers" ],
+ "summary": "Creates a new container or updates an existing container on the device.",
+ "operationId": "Containers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "body",
+ "description": "The container properties.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/Container" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the container.",
+ "schema": { "$ref": "#/definitions/Container" }
+ },
+ "202": { "description": "Accepted the request to create or update the container." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerPut": {
+ "$ref": "./examples/ContainerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Containers" ],
+ "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "202": { "description": "Accepted the request to delete the container." },
+ "204": { "description": "The container 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": {
+ "ContainerDelete": {
+ "$ref": "./examples/ContainerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": {
+ "post": {
+ "tags": [ "Containers" ],
+ "summary": "Refreshes the container metadata with the data from the cloud.",
+ "operationId": "Containers_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully refreshed the container on the device." },
+ "202": { "description": "Accepted the request to refresh the container 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": {
+ "ContainerRefresh": {
+ "$ref": "./examples/ContainerRefresh.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": "$filter",
+ "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" },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='UserType eq ' to filter on user type property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "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": {
+ "UserGetAllInDevice": {
+ "$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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/skus": {
+ "get": {
+ "tags": [ "Skus" ],
+ "summary": "List all the available Skus in the region and information related to them",
+ "operationId": "Skus_List",
+ "parameters": [
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='location eq ' to filter on location.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available Skus and information related to them.",
+ "schema": { "$ref": "#/definitions/SkuInformationList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": null },
+ "x-ms-examples": {
+ "ListSkus": {
+ "$ref": "./examples/ListSkus.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" }
+ }
+ }
+ },
+ "Container": {
+ "description": "Represents a container on the Data Box Edge/Gateway device.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ContainerProperties",
+ "description": "The container properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerList": {
+ "description": "Collection of all the containers on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of containers.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Container" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container properties.",
+ "required": [ "dataFormat" ],
+ "type": "object",
+ "properties": {
+ "containerStatus": {
+ "description": "Current status of the container.",
+ "enum": [ "OK", "Offline", "Unknown", "Updating", "NeedsAttention" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerStatus",
+ "modelAsString": true
+ }
+ },
+ "dataFormat": {
+ "description": "DataFormat for Container",
+ "enum": [ "BlockBlob", "PageBlob", "AzureFile" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this container.",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The UTC time when container got created.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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 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", "RefreshContainer" ],
+ "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
+ },
+ "refreshedEntityId": {
+ "description": "ARM ID of the entity that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (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"
+ },
+ "additionalOrderDetails": {
+ "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties",
+ "type": "object",
+ "additionalProperties": { "type": "string" },
+ "readOnly": true
+ }
+ }
+ },
+ "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 or container.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh job is currently in progress on this share or container, 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 or container, 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 or container, 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 or container,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "SkuInformation object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name",
+ "enum": [ "Gateway", "Edge", "TEA_1Node", "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", "TEA_4Node_UPS_Heater", "TMA" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier",
+ "enum": [ "Standard" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "description": "The Sku family",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the SKU for the region",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which SKU is available",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the SKU for the location/zone",
+ "type": "array",
+ "items": { "$ref": "#/definitions/SkuLocationInfo" },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/SkuCost" },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "Restrictions of the SKU availability.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/SkuRestriction" },
+ "readOnly": true
+ }
+ }
+ },
+ "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", "TEA_1Node", "TEA_1Node_UPS", "TEA_1Node_Heater", "TEA_1Node_UPS_Heater", "TEA_4Node_Heater", "TEA_4Node_UPS_Heater", "TMA" ],
+ "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
+ }
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "Restriction of the SKU for the location/zone",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "type": "array",
+ "items": { "$ref": "#/definitions/ResourceTypeSku" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuRestriction": {
+ "description": "The restrictions because of which SKU cannot be used.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the restriction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "values": {
+ "description": "The locations where sku is restricted.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "reasonCode": {
+ "description": "The SKU restriction reason.",
+ "enum": [ "NotAvailableForSubscription", "QuotaId" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuRestrictionReasonCode",
+ "modelAsString": true
+ }
+ },
+ "restrictionInfo": {
+ "$ref": "#/definitions/SkuRestrictionInfo",
+ "description": "Restriction of the SKU for the location/zone",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuRestrictionInfo": {
+ "description": "The restriction info with locations and zones.",
+ "type": "object",
+ "properties": {
+ "locations": {
+ "description": "The locations.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": 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"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/StorageAccount" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [ "OK", "Offline", "Unknown", "Updating", "NeedsAttention" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [ "Cloud", "Local" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": 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.",
+ "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",
+ "readOnly": true
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAudience": {
+ "description": "Identifier of the target resource that is the recipient of the requested token.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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.",
+ "required": [ "userType" ],
+ "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" }
+ },
+ "userType": {
+ "description": "Type of the user.",
+ "enum": [ "Share", "LocalManagement", "ARM" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": { "user_impersonation": "impersonate your user account." }
+ }
+ },
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/AlertGet.json
new file mode 100644
index 000000000000..94a15647f259
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..a87676829ae9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..2f0290d54b5a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..69af2d35efb2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..060ef86631cf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..22e9ee36824f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerDelete.json
new file mode 100644
index 000000000000..21d6ff1b8e13
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerGet.json
new file mode 100644
index 000000000000..3985acbca7a0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..42b135e7b1d8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerListAllInDevice.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName":"storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "value": [
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:14:32.3016929Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:15:38.0077675Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2",
+ "name": "blobcontainer2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3",
+ "name": "blobcontainer3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerPut.json
new file mode 100644
index 000000000000..7addeda919b8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "container": {
+ "properties": {
+ "dataFormat": "BlockBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer-5e155efe",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..291aeda7a6de
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "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-08-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..2b98c18ce0c2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..61b74fefee04
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..d6a3fe4ad374
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..a89a11939ee1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..c4d66a76b89c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..7280ada153e6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..1f6150962ead
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..c36d2ce6ee3a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..1f6150962ead
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/JobsGet.json
new file mode 100644
index 000000000000..fddee88a2091
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ListSkus.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ListSkus.json
new file mode 100644
index 000000000000..8a9f51268479
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ListSkus.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdeDevices",
+ "name": "Gateway",
+ "tier": "Standard",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ],
+ "apiVersions": [
+ "2019-08-01"
+ ],
+ "restrictions": [
+ {
+ "type": "location",
+ "values": [
+ "East US"
+ ],
+ "restrictionInfo": {
+ "locations": [
+ "East US"
+ ]
+ },
+ "reasonCode": "NotAvailableForSubscription"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..f32e1e4ea38d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..db0cd973b7e2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/NodeGetAllInDevice.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {
+ "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"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..fdccf6dfa770
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..2b5d503caa08
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderDelete.json
new file mode 100644
index 000000000000..2b98c18ce0c2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderGet.json
new file mode 100644
index 000000000000..0d467f7f8854
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..128e6415ccbb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-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-08-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderPut.json
new file mode 100644
index 000000000000..152c52c28702
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleDelete.json
new file mode 100644
index 000000000000..10e25836082d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleGet.json
new file mode 100644
index 000000000000..152718b8bb9a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..2a7f18f2a1aa
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RolePut.json
new file mode 100644
index 000000000000..32e5ec96cb3a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACDelete.json
new file mode 100644
index 000000000000..8602da60e5a1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACGet.json
new file mode 100644
index 000000000000..c58d534e9e86
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..c96510127c81
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACPut.json
new file mode 100644
index 000000000000..3d0cb495a293
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..1f6150962ead
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..1eec8acd8497
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareDelete.json
new file mode 100644
index 000000000000..8a7417521f18
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareGet.json
new file mode 100644
index 000000000000..6d7e79442b0a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..6d97a13ea658
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SharePut.json
new file mode 100644
index 000000000000..a3a653107782
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..c73accb92a71
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..27d6e1b897f4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..b3460383c119
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..bf13d8e4616a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..9b914d8fe444
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-08-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccount": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerDelete.json
new file mode 100644
index 000000000000..409126343542
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerGet.json
new file mode 100644
index 000000000000..6deaf7361570
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..56166c0edb7f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..80ede46f2d01
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..aa9d01d412a5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UpdateSummaryGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..87409c50f434
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserDelete.json
new file mode 100644
index 000000000000..0ea56aa154c7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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-08-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserGet.json
new file mode 100644
index 000000000000..319034b98e6b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {"userType":"Share"},
+ "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-08-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..a06b4b1a4641
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserGetAllInDevice.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": {"userType": "Share"},
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {"userType": "Share"},
+ "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-08-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserPut.json
new file mode 100644
index 000000000000..b86dd062624e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/examples/UserPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-08-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": [],
+ "userType": "Share"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {"userType": "Share"},
+ "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
index 0d0624ae1590..7ed636402573 100644
--- a/specification/databoxedge/resource-manager/readme.go.md
+++ b/specification/databoxedge/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-03
```
+### 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.
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index dbe19f4d6908..18353b7dbfc2 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the DataBox Edge API.
``` yaml
openapi-type: arm
-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.DataBoxEdge/stable/2019-08-01/databoxedge.json
```
### Tag: package-2019-07
@@ -37,6 +46,7 @@ These settings apply only when `--tag=package-2019-07` is specified on the comma
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.
@@ -58,6 +68,8 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-databoxedge
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
- repo: azure-sdk-for-java
@@ -83,32 +95,7 @@ csharp:
## Python
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- 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
-```
+See configuration in [readme.python.md](./readme.python.md)
## Ruby
@@ -139,7 +126,20 @@ java:
batch:
- tag: package-2019-03
- tag: package-2019-07
+ - tag: package-2019-08
+```
+
+### 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.databoxedge.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2019_08_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2019-07 and java
@@ -150,7 +150,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+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
+ no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2019-07
+ - tag: package-2019-03
+```
+
+### 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.databoxedge.v2019_07_01
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_07_01
+```
+
+### Tag: package-2019-03 and python
+
+These settings apply only when `--tag=package-2019-03 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(python)
+python:
+ namespace: azure.mgmt.databoxedge.v2019_03_01
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_03_01
+```
diff --git a/specification/databoxedge/resource-manager/readme.ruby.md b/specification/databoxedge/resource-manager/readme.ruby.md
index 18c1945c5da2..c8c6afca17b3 100644
--- a/specification/databoxedge/resource-manager/readme.ruby.md
+++ b/specification/databoxedge/resource-manager/readme.ruby.md
@@ -12,10 +12,21 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2019-08 and ruby
+
+These settings apply only when `--tag=package-2019-08 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(ruby)
+namespace: "Azure::DataBoxEdge::Mgmt::V2019_08_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
+
### Tag: package-2019-07 and ruby
These settings apply only when `--tag=package-2019-07 --ruby` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.typescript.md b/specification/databoxedge/resource-manager/readme.typescript.md
index b7be35c182a7..0a2cccd5182c 100644
--- a/specification/databoxedge/resource-manager/readme.typescript.md
+++ b/specification/databoxedge/resource-manager/readme.typescript.md
@@ -10,5 +10,6 @@ typescript:
payload-flattening-threshold: 0
package-name: "@azure/arm-databoxedge"
output-folder: "$(typescript-sdks-folder)/sdk/databoxedge/arm-databoxedge"
+ clear-output-folder: true
generate-metadata: true
```
\ No newline at end of file
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
index e8de8a8beaef..abc6368cb41c 100644
--- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
@@ -44,6 +44,9 @@
"x-ms-examples": {
"Get a workspace": {
"$ref": "./examples/WorkspaceGet.json"
+ },
+ "Get a workspace with custom parameters": {
+ "$ref": "./examples/WorkspaceGetParameters.json"
}
},
"parameters": [
@@ -128,6 +131,9 @@
"x-ms-examples": {
"Create or update workspace": {
"$ref": "./examples/WorkspaceCreate.json"
+ },
+ "Create or update workspace with custom parameters": {
+ "$ref": "./examples/WorkspaceCreateWithParameters.json"
}
},
"parameters": [
@@ -377,8 +383,8 @@
"description": "The managed resource group Id."
},
"parameters": {
- "type": "object",
- "description": "Name and value pairs that define the workspace parameters."
+ "$ref": "#/definitions/WorkspaceCustomParameters",
+ "description": "The workspace's custom parameters."
},
"provisioningState": {
"readOnly": true,
@@ -494,6 +500,121 @@
"modelAsString": true
}
},
+ "WorkspaceCustomParameterType": {
+ "description": "Provisioning status of the workspace.",
+ "readOnly": true,
+ "enum": [
+ "Bool",
+ "Object",
+ "String"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomParameterType",
+ "modelAsString": true
+ }
+ },
+ "WorkspaceCustomBooleanParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "boolean",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The value which should be used for this field."
+ },
+ "WorkspaceCustomObjectParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "object",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The value which should be used for this field."
+ },
+ "WorkspaceCustomStringParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "string",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Value."
+ },
+ "WorkspaceCustomParameters": {
+ "properties": {
+ "amlWorkspaceId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The Workspace ID of an Azure Machine Learning Workspace"
+ },
+ "customVirtualNetworkId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The ID of a Virtual Network where this Databricks Cluster should be created"
+ },
+ "customPublicSubnetName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of a Public Subnet within the Virtual Network"
+ },
+ "customPrivateSubnetName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of the Private Subnet within the Virtual Network"
+ },
+ "enableNoPublicIp": {
+ "$ref": "#/definitions/WorkspaceCustomBooleanParameter",
+ "description": "Should the Public IP be Disabled?"
+ },
+ "loadBalancerBackendPoolName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of a Backend Address Pool within an Azure Load Balancer"
+ },
+ "loadBalancerId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The Resource ID of an Azure Load Balancer"
+ },
+ "relayNamespaceName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of an Azure Relay Namespace"
+ },
+ "storageAccountName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name which should be used for the Storage Account"
+ },
+ "storageAccountSkuName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The SKU which should be used for this Storage Account"
+ },
+ "resourceTags": {
+ "$ref": "#/definitions/WorkspaceCustomObjectParameter",
+ "description": "A map of Tags which should be applied to the resources used by this Databricks Cluster."
+ },
+ "vnetAddressPrefix": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The first 2 octets of the virtual network /16 address range (e.g., '10.139' for the address range 10.139.0.0/16)."
+ }
+ },
+ "description": "Custom Parameters used for Cluster Creation."
+ },
"WorkspaceProviderAuthorization": {
"properties": {
"principalId": {
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreate.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreate.json
index 012fdf9674c1..977b42112e3b 100644
--- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreate.json
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreate.json
@@ -8,14 +8,12 @@
"properties": {
"managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG"
},
- "name": "myWorkspace",
"location": "westus"
}
},
"responses": {
"200": {
"body": {
- "name": "myWorkspace",
"id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
"type": "Microsoft.Databricks/workspaces",
"location": "East US 2",
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreateWithParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreateWithParameters.json
new file mode 100644
index 000000000000..4e9773afc9be
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceCreateWithParameters.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "skuName"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "amlWorkspaceId": {
+ "type": "String",
+ "value": "11112222-3333-4444-5555-666677778888"
+ },
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "PrivateBob"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "PublicSarah"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "enableNoPublicIp": {
+ "type": "Bool",
+ "value": true
+ },
+ "loadBalancerBackendPoolName": {
+ "type": "String",
+ "value": "CustomBackendAddressPool"
+ },
+ "loadBalancerId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/lb1"
+ },
+ "relayNamespaceName": {
+ "type": "String",
+ "value": "test"
+ },
+ "resourceTags": {
+ "type": "Object",
+ "value": {
+ "hello": "world"
+ }
+ },
+ "storageAccountName": {
+ "type": "String",
+ "value": "mysa999"
+ },
+ "storageAccountSkuName": {
+ "type": "String",
+ "value": "Standard_GRS"
+ },
+ "vnetAddressPrefix": {
+ "type": "String",
+ "value": "10.139"
+ }
+ },
+ "provisioningState": "Created",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "skuName"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "amlWorkspaceId": {
+ "type": "String",
+ "value": "11112222-3333-4444-5555-666677778888"
+ },
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "PrivateBob"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "PublicSarah"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "enableNoPublicIp": {
+ "type": "Bool",
+ "value": true
+ },
+ "loadBalancerBackendPoolName": {
+ "type": "String",
+ "value": "CustomBackendAddressPool"
+ },
+ "loadBalancerId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/loadBalancers/lb1"
+ },
+ "relayNamespaceName": {
+ "type": "String",
+ "value": "test"
+ },
+ "resourceTags": {
+ "type": "Object",
+ "value": {
+ "hello": "world"
+ }
+ },
+ "storageAccountName": {
+ "type": "String",
+ "value": "mysa999"
+ },
+ "storageAccountSkuName": {
+ "type": "String",
+ "value": "Standard_GRS"
+ },
+ "vnetAddressPrefix": {
+ "type": "String",
+ "value": "10.139"
+ }
+ },
+ "provisioningState": "Created",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceGetParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceGetParameters.json
new file mode 100644
index 000000000000..d2afb9f36a5f
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceGetParameters.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "PrivateBob"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "PublicSarah"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "enableNoPublicIp": {
+ "type": "Bool",
+ "value": true
+ },
+ "loadBalancerBackendPoolName": {
+ "type": "String",
+ "value": ""
+ },
+ "loadBalancerId": {
+ "type": "String",
+ "value": ""
+ },
+ "relayNamespaceName": {
+ "type": "String",
+ "value": "test"
+ },
+ "storageAccountName": {
+ "type": "String",
+ "value": "examplesa99"
+ },
+ "storageAccountSkuName": {
+ "type": "String",
+ "value": "Standard_GRS"
+ },
+ "vnetAddressPrefix": {
+ "type": "String",
+ "value": "10.139"
+ },
+ "resourceTags": {
+ "type": "Object",
+ "value": {
+ "application": "databricks",
+ "databricks-environment": "true",
+ "Environment": "Production"
+ }
+ },
+ "amlWorkspaceId": {
+ "type": "String",
+ "value": ""
+ }
+ },
+ "provisioningState": "Created",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json"
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceUpdate.json
index 6151245f9690..e386347fa0a2 100644
--- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceUpdate.json
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceUpdate.json
@@ -14,7 +14,6 @@
"200": {
"headers": {},
"body": {
- "name": "myWorkspace",
"id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
"type": "Microsoft.Databricks/workspaces",
"location": "East US 2",
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 7aea7abb8e97..2b393ef2e23a 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -23,7 +23,7 @@ Please also specify `--azure-libraries-for-java=tabular example: [{\"source\":{\"name\":\"CustomerName\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientName\",\"type\":\"String\"}},{\"source\":{\"name\":\"CustomerAddress\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientAddress\",\"type\":\"String\"}}]. Hierarchical->tabular example: [{\"source\":{\"path\":\"$.CustomerName\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientName\",\"type\":\"String\"}},{\"source\":{\"path\":\"$.CustomerAddress\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientAddress\",\"type\":\"String\"}}]. Type: object (or Expression with resultType object)."
@@ -3803,12 +3898,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",
@@ -4177,7 +4268,8 @@
"type": "string",
"enum": [
"SSISDB",
- "File"
+ "File",
+ "InlinePackage"
],
"x-ms-enum": {
"name": "SsisPackageLocationType",
@@ -4189,17 +4281,14 @@
"description": "SSIS package location properties.",
"$ref": "#/definitions/SSISPackageLocationTypeProperties"
}
- },
- "required": [
- "packagePath"
- ]
+ }
},
"SSISPackageLocationTypeProperties": {
"description": "SSIS package location properties.",
"type": "object",
"properties": {
"packagePassword": {
- "$ref": "../datafactory.json#/definitions/SecureString",
+ "$ref": "../datafactory.json#/definitions/SecretBase",
"description": "Password of the package."
},
"accessCredential": {
@@ -4209,6 +4298,25 @@
"configurationPath": {
"description": "The configuration file of the package execution. Type: string (or Expression with resultType string).",
"type": "object"
+ },
+ "packageName": {
+ "description": "The package name.",
+ "type": "string"
+ },
+ "packageContent": {
+ "description": "The embedded package content. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "packageLastModifiedDate": {
+ "description": "The embedded package last modified date.",
+ "type": "string"
+ },
+ "childPackages": {
+ "description": "The embedded child package list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SSISChildPackage"
+ }
}
}
},
@@ -4285,7 +4393,7 @@
"description": "UseName for windows authentication."
},
"password": {
- "$ref": "../datafactory.json#/definitions/SecureString",
+ "$ref": "../datafactory.json#/definitions/SecretBase",
"description": "Password for windows authentication."
}
},
@@ -4295,6 +4403,32 @@
"password"
]
},
+ "SSISChildPackage": {
+ "description": "SSIS embedded child package.",
+ "type": "object",
+ "properties": {
+ "packagePath": {
+ "type": "object",
+ "description": "Path for embedded child package. Type: string (or Expression with resultType string)."
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Name for embedded child package."
+ },
+ "packageContent": {
+ "type": "object",
+ "description": "Content for embedded child package. Type: string (or Expression with resultType string)."
+ },
+ "packageLastModifiedDate": {
+ "type": "string",
+ "description": "Last modified date for embedded child package."
+ }
+ },
+ "required": [
+ "packagePath",
+ "packageContent"
+ ]
+ },
"SSISLogLocation": {
"description": "SSIS package execution log location",
"type": "object",
@@ -4657,7 +4791,7 @@
},
"pfx": {
"description": "Base64-encoded contents of a PFX file.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"username": {
"description": "Web activity authentication user name for basic authentication.",
@@ -4665,7 +4799,7 @@
},
"password": {
"description": "Password for the PFX file or basic authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"resource": {
"description": "Resource for which Azure Auth token will be requested when using MSI Authentication.",
@@ -4712,6 +4846,10 @@
"items": {
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
}
+ },
+ "connectVia": {
+ "description": "The integration runtime reference.",
+ "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference"
}
},
"required": [
@@ -4803,6 +4941,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.",
@@ -4956,6 +5156,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",
@@ -5504,6 +5759,10 @@
"authentication": {
"description": "Authentication method used for calling the endpoint.",
"$ref": "#/definitions/WebActivityAuthentication"
+ },
+ "reportStatusOnCallBack": {
+ "type": "object",
+ "description": "When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean)."
}
},
"required": [
@@ -5544,6 +5803,29 @@
"integrationRuntime": {
"description": "The integration runtime reference.",
"$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference"
+ },
+ "compute": {
+ "description": "Compute properties for data flow activity.",
+ "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"
+ }
+ }
}
},
"required": [
diff --git a/specification/datafactory/resource-manager/readme.java.md b/specification/datafactory/resource-manager/readme.java.md
index d67ddd779a9a..ce7c8f5845a8 100644
--- a/specification/datafactory/resource-manager/readme.java.md
+++ b/specification/datafactory/resource-manager/readme.java.md
@@ -31,7 +31,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-11-01' && $(go)
+output-folder: $(go-sdk-folder)/services/datashare/mgmt/2019-11-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index ca584ab208dd..f6dc9607cdb6 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the DataShare API.
``` yaml
openapi-type: arm
-tag: package-2018-11-01-preview
+tag: package-2019-11-01
```
@@ -39,6 +39,15 @@ input-file:
- Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
```
+### Tag: package-2019-11-01
+
+These settings apply only when `--tag=package-2019-11-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-01'
+input-file:
+- Microsoft.DataShare/stable/2019-11-01/DataShare.json
+```
+
---
# Code Generation
@@ -115,6 +124,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
+ - $(this-folder)/Microsoft.DataShare/stable/2019-11-01/DataShare.json
```
@@ -125,4 +135,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json
new file mode 100644
index 000000000000..b627b27b959f
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json
@@ -0,0 +1,2498 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "AzureDeploymentManager",
+ "description": "REST APIs for orchestrating deployments using the Azure Deployment Manager (ADM). See https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-manager-overview for more information."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies/{serviceTopologyName}": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "put": {
+ "tags": [
+ "ServiceTopologies"
+ ],
+ "operationId": "ServiceTopologies_CreateOrUpdate",
+ "summary": "Creates or updates a service topology.",
+ "description": "Synchronously creates a new service topology or updates an existing service topology.",
+ "x-ms-examples": {
+ "Create a topology with Artifact Source": {
+ "$ref": "./examples/servicetopology_createorupdate.json"
+ },
+ "Create a topology without Artifact Source": {
+ "$ref": "./examples/servicetopology_createorupdate_noartifactsource.json"
+ }
+ },
+ "parameters": [
+ {
+ "in": "body",
+ "name": "serviceTopologyInfo",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceTopologyResource"
+ },
+ "description": "Source topology object defines the resource."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceTopologyResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard Error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ServiceTopologies"
+ ],
+ "operationId": "ServiceTopologies_Get",
+ "summary": "Gets the service topology.",
+ "x-ms-examples": {
+ "Get topology": {
+ "$ref": "./examples/servicetopology_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceTopologyResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ServiceTopologies"
+ ],
+ "operationId": "ServiceTopologies_Delete",
+ "summary": "Deletes the service topology.",
+ "x-ms-examples": {
+ "Delete topology": {
+ "$ref": "./examples/servicetopology_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The topology was successfully deleted."
+ },
+ "204": {
+ "description": "The topology was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "ServiceTopologies"
+ ],
+ "operationId": "ServiceTopologies_List",
+ "summary": "Lists the service topologies in the resource group.",
+ "x-ms-examples": {
+ "List topologies": {
+ "$ref": "./examples/servicetopologies_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceTopologiesListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies/{serviceTopologyName}/services/{serviceName}": {
+ "put": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_CreateOrUpdate",
+ "summary": "Creates or updates a service in the service topology.",
+ "description": "Synchronously creates a new service or updates an existing service.",
+ "x-ms-examples": {
+ "Create service": {
+ "$ref": "./examples/service_createorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "serviceInfo",
+ "description": "The service object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Get",
+ "summary": "Gets the service.",
+ "x-ms-examples": {
+ "Get service": {
+ "$ref": "./examples/service_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Delete",
+ "summary": "Deletes the service.",
+ "x-ms-examples": {
+ "Delete service": {
+ "$ref": "./examples/service_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully deleted."
+ },
+ "204": {
+ "description": "The service was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies/{serviceTopologyName}/services": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_List",
+ "summary": "Lists the services in the service topology.",
+ "x-ms-examples": {
+ "List services": {
+ "$ref": "./examples/services_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies/{serviceTopologyName}/services/{serviceName}/serviceUnits/{serviceUnitName}": {
+ "put": {
+ "tags": [
+ "ServiceUnits"
+ ],
+ "operationId": "ServiceUnits_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "summary": "Creates or updates a service unit under the service in the service topology.",
+ "description": "This is an asynchronous operation and can be polled to completion using the operation resource returned by this operation.",
+ "x-ms-examples": {
+ "Create service unit using relative paths into the artifact source": {
+ "$ref": "./examples/serviceunit_createorupdate.json"
+ },
+ "Create service unit using SAS URIs": {
+ "$ref": "./examples/serviceunit_createorupdate_noartifactsource.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/serviceUnitName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "serviceUnitInfo",
+ "description": "The service unit resource object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceUnitResource"
+ }
+ }
+ ],
+ "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.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "Contains the status URL on which clients are expected to poll the status of the operation."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ServiceUnitResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ServiceUnits"
+ ],
+ "operationId": "ServiceUnits_Get",
+ "summary": "Gets the service unit.",
+ "x-ms-examples": {
+ "Get service unit": {
+ "$ref": "./examples/serviceunit_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/serviceUnitName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceUnitResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ServiceUnits"
+ ],
+ "operationId": "ServiceUnits_Delete",
+ "summary": "Deletes the service unit.",
+ "x-ms-examples": {
+ "Delete service unit": {
+ "$ref": "./examples/serviceunit_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/serviceUnitName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service unit was successfully deleted."
+ },
+ "204": {
+ "description": "The service unit was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/serviceTopologies/{serviceTopologyName}/services/{serviceName}/serviceUnits": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "ServiceUnits"
+ ],
+ "operationId": "ServiceUnits_List",
+ "summary": "Lists the service units under a service in the service topology.",
+ "x-ms-examples": {
+ "List service units": {
+ "$ref": "./examples/serviceunits_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/serviceTopologyName"
+ },
+ {
+ "$ref": "#/parameters/serviceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceUnitListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/steps/{stepName}": {
+ "put": {
+ "tags": [
+ "Steps"
+ ],
+ "operationId": "Steps_CreateOrUpdate",
+ "summary": "Creates or updates a rollout step with the given step properties.",
+ "description": "Synchronously creates a new step or updates an existing step.",
+ "x-ms-examples": {
+ "Create wait step": {
+ "$ref": "./examples/step_wait_createorupdate.json"
+ },
+ "Create health check step": {
+ "$ref": "./examples/step_health_check_createorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/stepName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "stepInfo",
+ "description": "The step object.",
+ "schema": {
+ "$ref": "#/definitions/StepResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StepResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Steps"
+ ],
+ "operationId": "Steps_Get",
+ "summary": "Gets the step.",
+ "x-ms-examples": {
+ "Get deployment step": {
+ "$ref": "./examples/step_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/stepName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StepResource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Steps"
+ ],
+ "operationId": "Steps_Delete",
+ "summary": "Deletes the step.",
+ "x-ms-examples": {
+ "Delete deployment step": {
+ "$ref": "./examples/step_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/stepName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The step was successfully deleted."
+ },
+ "204": {
+ "description": "The step was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/steps": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Steps"
+ ],
+ "operationId": "Steps_List",
+ "summary": "Lists the steps in a resource group.",
+ "x-ms-examples": {
+ "List steps": {
+ "$ref": "./examples/steps_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StepResourceListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/rollouts/{rolloutName}": {
+ "put": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "summary": "Creates or updates a rollout.",
+ "description": "This is an asynchronous operation and can be polled to completion using the location header returned by this operation.",
+ "x-ms-examples": {
+ "Create or update rollout": {
+ "$ref": "./examples/rollout_createorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/rolloutName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "rolloutRequest",
+ "description": "Source rollout request object that defines the rollout.",
+ "schema": {
+ "$ref": "#/definitions/RolloutRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the request was successfully registered and basic validation is successful. The response includes an Azure-AsyncOperation header that contains the operation status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "Contains the status URL on which clients are expected to poll the status of the operation."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/RolloutRequest"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_Get",
+ "summary": "Gets detailed information of a rollout.",
+ "x-ms-examples": {
+ "Get rollout": {
+ "$ref": "./examples/rollout_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/rolloutName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/retryAttempt"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Rollout"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_Delete",
+ "summary": "Deletes a rollout resource.",
+ "description": "Only rollouts in terminal state can be deleted.",
+ "x-ms-examples": {
+ "Delete rollout": {
+ "$ref": "./examples/rollout_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/rolloutName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The rollout was successfully deleted."
+ },
+ "204": {
+ "description": "The rollout was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/rollouts/{rolloutName}/cancel": {
+ "post": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_Cancel",
+ "summary": "Stops a running rollout.",
+ "description": "Only running rollouts can be canceled.",
+ "x-ms-examples": {
+ "Cancel rollout": {
+ "$ref": "./examples/rollout_post_cancel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/rolloutName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Rollout"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/rollouts/{rolloutName}/restart": {
+ "post": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_Restart",
+ "summary": "Restarts a failed rollout and optionally skips all succeeded steps.",
+ "description": "Only failed rollouts can be restarted.",
+ "x-ms-examples": {
+ "Restart rollout": {
+ "$ref": "./examples/rollout_post_restart.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/rolloutName"
+ },
+ {
+ "name": "skipSucceeded",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "If true, will skip all succeeded steps so far in the rollout. If false, will execute the entire rollout again regardless of the current state of individual resources. Defaults to false if not specified."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Rollout"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/rollouts": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Rollouts"
+ ],
+ "operationId": "Rollouts_List",
+ "summary": "Lists the rollouts in a resource group.",
+ "x-ms-examples": {
+ "List rollouts by resource group" : {
+ "$ref": "./examples/rollouts_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RolloutListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/artifactSources/{artifactSourceName}": {
+ "put": {
+ "tags": [
+ "ArtifactSources"
+ ],
+ "operationId": "ArtifactSources_CreateOrUpdate",
+ "summary": "Creates or updates an artifact source.",
+ "description": "Synchronously creates a new artifact source or updates an existing artifact source.",
+ "x-ms-examples": {
+ "Create artifact source": {
+ "$ref": "./examples/artifactsource_createorupdate.json"
+ },
+ "Create artifact source with artifact root, an offset into the storage container": {
+ "$ref": "./examples/artifactsource_createorupdate_artifactroot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/artifactSourceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "artifactSourceInfo",
+ "description": "Source object that defines the resource.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactSource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ArtifactSource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ArtifactSources"
+ ],
+ "operationId": "ArtifactSources_Get",
+ "summary": "Gets an artifact source.",
+ "x-ms-examples": {
+ "Get artifact source": {
+ "$ref": "./examples/artifactsource_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/artifactSourceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArtifactSource"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ArtifactSources"
+ ],
+ "operationId": "ArtifactSources_Delete",
+ "summary": "Deletes an artifact source.",
+ "x-ms-examples": {
+ "Delete artifact source": {
+ "$ref": "./examples/artifactsource_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/artifactSourceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The artifact source was successfully deleted."
+ },
+ "204": {
+ "description": "The artifact source was not found and the operation is considered success."
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeploymentManager/artifactSources": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "ArtifactSources"
+ ],
+ "operationId": "ArtifactSources_List",
+ "summary": "Lists the artifact sources in a resource group.",
+ "x-ms-examples": {
+ "List steps": {
+ "$ref": "./examples/artifactsources_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArtifactSourceListResult"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DeploymentManager/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "summary": "Lists the supported operations.",
+ "x-ms-examples": {
+ "Get operations": {
+ "$ref": "./examples/operations_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operations are successfully returned. The response code does not determine if the request which this operation corresponds to is successful. Check the response content for the status and any error information on failures.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "All non-success conditions are handled using the standard error contract.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "example": "userAssigned"
+ },
+ "identityIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "/subscriptions/mySubId/resourcegroups/myRG/providers/Microsoft.ManagedIdentity/userassignedidentities/myIdentity"
+ },
+ "description": "The list of identities."
+ }
+ },
+ "required": [
+ "type",
+ "identityIds"
+ ]
+ },
+ "RolloutRequest": {
+ "description": "Defines the PUT rollout request body.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "description": "Identity for the resource.",
+ "$ref": "#/definitions/Identity"
+ },
+ "properties": {
+ "description": "Defines the properties that make up a rollout request.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RolloutRequestProperties"
+ }
+ },
+ "required": [
+ "identity",
+ "properties"
+ ]
+ },
+ "RolloutRequestProperties": {
+ "description": "The properties for defining a rollout.",
+ "properties": {
+ "buildVersion": {
+ "type": "string",
+ "description": "The version of the build being deployed.",
+ "example": "1.0.0.1"
+ },
+ "artifactSourceId": {
+ "type": "string",
+ "description": "The reference to the artifact source resource Id where the payload is located.",
+ "example": "Microsoft.DeploymentManager/artifactSources/payloadStore1"
+ },
+ "targetServiceTopologyId": {
+ "type": "string",
+ "description": "The resource Id of the service topology from which service units are being referenced in step groups to be deployed.",
+ "example": "Microsoft.DeploymentManager/serviceTopologies/myServiceTopology"
+ },
+ "stepGroups": {
+ "description": "The list of step groups that define the orchestration.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StepGroup"
+ }
+ }
+ },
+ "required": [
+ "stepGroups",
+ "targetServiceTopologyId",
+ "buildVersion"
+ ]
+ },
+ "StepGroup": {
+ "description": "The properties that define a Step group in a rollout.",
+ "properties": {
+ "name": {
+ "description": "The name of the step group.",
+ "type": "string"
+ },
+ "dependsOnStepGroups": {
+ "description": "The list of step group names on which this step group depends on.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "stepGroup1",
+ "stepGroup2"
+ ]
+ },
+ "preDeploymentSteps": {
+ "description": "The list of steps to be run before deploying the target.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrePostStep"
+ }
+ },
+ "deploymentTargetId": {
+ "description": "The resource Id of service unit to be deployed. The service unit should be from the service topology referenced in targetServiceTopologyId",
+ "type": "string",
+ "example": "Microsoft.DeploymentManager/serviceTopologies/myServiceTopology/services/myService/serviceUnits/database"
+ },
+ "postDeploymentSteps": {
+ "description": "The list of steps to be run after deploying the target.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrePostStep"
+ }
+ }
+ },
+ "required": [
+ "deploymentTargetId",
+ "name"
+ ]
+ },
+ "PrePostStep": {
+ "description": "The properties that define a step.",
+ "properties": {
+ "stepId": {
+ "type": "string",
+ "description": "The resource Id of the step to be run.",
+ "example": "Microsoft.DeploymentManager/steps/healthCheckStep1"
+ }
+ },
+ "required": [
+ "stepId"
+ ]
+ },
+ "ArtifactSource": {
+ "description": "The resource that defines the source location where the artifacts are located.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The properties that define the artifact source.",
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/ArtifactSourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "ArtifactSourceProperties": {
+ "description": "The properties that define the source location where the artifacts are located.",
+ "properties": {
+ "sourceType": {
+ "type": "string",
+ "description": "The type of artifact source used.",
+ "example": "AzureStorage"
+ },
+ "artifactRoot": {
+ "type": "string",
+ "description": "The path from the location that the 'authentication' property [say, a SAS URI to the blob container] refers to, to the location of the artifacts. This can be used to differentiate different versions of the artifacts. Or, different types of artifacts like binaries or templates. The location referenced by the authentication property concatenated with this optional artifactRoot path forms the artifact source location where the artifacts are expected to be found.",
+ "example": "binaries/2018.09.24"
+ },
+ "authentication": {
+ "description": "The authentication method to use to access the artifact source.",
+ "$ref": "#/definitions/Authentication"
+ }
+ },
+ "required": [
+ "sourceType",
+ "authentication"
+ ]
+ },
+ "Authentication": {
+ "description": "Defines the authentication method and properties to access the artifacts.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The authentication type"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "SasAuthentication": {
+ "x-ms-discriminator-value": "Sas",
+ "type": "object",
+ "description": "Defines the properties to access the artifacts using an Azure Storage SAS URI.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Authentication"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The SAS properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SasProperties"
+ }
+ }
+ },
+ "SasProperties": {
+ "description": "The properties that define SAS authentication.",
+ "properties": {
+ "sasUri": {
+ "type": "string",
+ "description": "The SAS URI to the Azure Storage blob container. Any offset from the root of the container to where the artifacts are located can be defined in the artifactRoot."
+ }
+ },
+ "required": [
+ "sasUri"
+ ]
+ },
+ "Rollout": {
+ "description": "Defines the rollout.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "description": "Identity for the resource.",
+ "$ref": "#/definitions/Identity"
+ },
+ "properties": {
+ "description": "The properties that define a rollout.",
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/RolloutRequestProperties"
+ },
+ {
+ "$ref": "#/definitions/RolloutProperties"
+ }
+ ]
+ }
+ }
+ },
+ "RolloutProperties": {
+ "description": "Defines the properties of a rollout.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current status of the rollout."
+ },
+ "totalRetryAttempts": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The cardinal count of total number of retries performed on the rollout at a given time."
+ },
+ "operationInfo": {
+ "readOnly": true,
+ "$ref": "#/definitions/RolloutOperationInfo",
+ "description": "Operational information of the rollout."
+ },
+ "services": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Service"
+ },
+ "description": "The detailed information on the services being deployed."
+ }
+ }
+ },
+ "RolloutOperationInfo": {
+ "description": "Detailed runtime information of the rollout.",
+ "properties": {
+ "retryAttempt": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The ordinal count of the number of retry attempts on a rollout. 0 if no retries of the rollout have been performed. If the rollout is updated with a PUT, this count is reset to 0."
+ },
+ "skipSucceededOnRetry": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True, if all steps that succeeded on the previous run/attempt were chosen to be skipped in this retry attempt. False, otherwise."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The start time of the rollout in UTC."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The start time of the rollout in UTC. This property will not be set if the rollout has not completed yet."
+ },
+ "error": {
+ "description": "The detailed error information for any failure.",
+ "readOnly": true,
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "ServiceTopologyResource": {
+ "description": "The resource representation of a service topology.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The properties that define the service topology.",
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceTopologyProperties"
+ }
+ ]
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ServiceTopologyProperties": {
+ "description": "The properties of a service topology.",
+ "properties": {
+ "artifactSourceId": {
+ "type": "string",
+ "description": "The resource Id of the artifact source that contains the artifacts that can be referenced in the service units."
+ }
+ }
+ },
+ "ServiceResource": {
+ "description": "The resource representation of a service in a service topology.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The properties that define a service in a service topology.",
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceProperties"
+ }
+ ]
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "Service": {
+ "description": "Defines a service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceProperties"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the service."
+ },
+ "serviceUnits": {
+ "description": "The detailed information about the units that make up the service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceUnit"
+ }
+ }
+ }
+ },
+ "ServiceProperties": {
+ "description": "The properties of a service.",
+ "properties": {
+ "targetLocation": {
+ "type": "string",
+ "description": "The Azure location to which the resources in the service belong to or should be deployed to."
+ },
+ "targetSubscriptionId": {
+ "type": "string",
+ "description": "The subscription to which the resources in the service belong to or should be deployed to."
+ }
+ },
+ "required": [
+ "targetLocation",
+ "targetSubscriptionId"
+ ]
+ },
+ "ServiceUnitResource": {
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents the response of a service unit resource.",
+ "properties": {
+ "properties": {
+ "description": "The properties that define the service unit.",
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUnitProperties"
+ }
+ ]
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ServiceUnit": {
+ "description": "Defines a service unit.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUnitProperties"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the service unit."
+ },
+ "steps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RolloutStep"
+ },
+ "description": "Detailed step information, if present."
+ }
+ }
+ },
+ "ServiceUnitProperties": {
+ "description": "Defines the properties of a service unit.",
+ "properties": {
+ "targetResourceGroup": {
+ "type": "string",
+ "description": "The Azure Resource Group to which the resources in the service unit belong to or should be deployed to."
+ },
+ "deploymentMode": {
+ "type": "string",
+ "enum": [
+ "Incremental",
+ "Complete"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": false
+ },
+ "description": "Describes the type of ARM deployment to be performed on the resource."
+ },
+ "artifacts": {
+ "type": "object",
+ "description": "The artifacts for the service unit.",
+ "$ref": "#/definitions/ServiceUnitArtifacts"
+ }
+ },
+ "required": [
+ "targetResourceGroup",
+ "deploymentMode"
+ ]
+ },
+ "ServiceUnitArtifacts": {
+ "description": "Defines the artifacts of a service unit.",
+ "properties": {
+ "templateUri": {
+ "type": "string",
+ "description": "The full URI of the ARM template file with the SAS token.",
+ "example": "https://teststore.blob.core.windows.net/payloadcontainer/template.json?sasUri"
+ },
+ "parametersUri": {
+ "type": "string",
+ "description": "The full URI of the ARM parameters file with the SAS token.",
+ "example": "https://teststore.blob.core.windows.net/payloadcontainer/parameters.json?sasUri"
+ },
+ "templateArtifactSourceRelativePath": {
+ "type": "string",
+ "description": "The path to the ARM template file relative to the artifact source.",
+ "example": "/templates/resource1.template.json"
+ },
+ "parametersArtifactSourceRelativePath": {
+ "type": "string",
+ "description": "The path to the ARM parameters file relative to the artifact source.",
+ "example": "/parameters/resource1.parameters.json"
+ }
+ }
+ },
+ "RolloutStep": {
+ "description": "Defines a specific step on a target service unit.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the step."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Current state of the step."
+ },
+ "stepGroup": {
+ "type": "string",
+ "description": "The step group the current step is part of."
+ },
+ "operationInfo": {
+ "readOnly": true,
+ "$ref": "#/definitions/StepOperationInfo",
+ "description": "Detailed information of specific action execution."
+ },
+ "resourceOperations": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ResourceOperation"
+ },
+ "description": "Set of resource operations that were performed, if any, on an Azure resource."
+ },
+ "messages": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Message"
+ },
+ "description": "Supplementary informative messages during rollout."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "StepOperationInfo": {
+ "description": "Detailed information of a specific step run.",
+ "properties": {
+ "deploymentName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the ARM deployment initiated as part of the step."
+ },
+ "correlationId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique identifier to track the request for ARM-based resources."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start time of the action in UTC."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End time of the action in UTC."
+ },
+ "lastUpdatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Last time in UTC this operation was updated."
+ },
+ "error": {
+ "description": "The errors, if any, for the action.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "ResourceOperation": {
+ "description": "Individual resource operation information.",
+ "properties": {
+ "resourceName": {
+ "type": "string",
+ "description": "Name of the resource as specified in the artifacts. For ARM resources, this is the name of the resource specified in the template."
+ },
+ "operationId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique identifier of the operation. For ARM resources, this is the operationId obtained from ARM service."
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "Type of the resource as specified in the artifacts. For ARM resources, this is the type of the resource specified in the template."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "State of the resource deployment. For ARM resources, this is the current provisioning state of the resource."
+ },
+ "statusMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Descriptive information of the resource operation."
+ },
+ "statusCode": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Http status code of the operation."
+ }
+ }
+ },
+ "Message": {
+ "description": "Supplementary contextual messages during a rollout.",
+ "properties": {
+ "timeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time in UTC this message was provided."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The actual message text."
+ }
+ }
+ },
+ "CloudError": {
+ "description": "The error information object.",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "The properties that define the error.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "description": "Detailed error information of any failure.",
+ "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/CloudErrorBody"
+ },
+ "description": "More detailed error information."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The operations response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of supported operations",
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Represents an operation that can be performed on the service.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "display": {
+ "description": "The display name of the operation.",
+ "$ref": "#/definitions/OperationDetail"
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of the operation."
+ },
+ "properties": {
+ "description": "The properties of the operation.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "The detail about an operation.",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "The name of the provider that supports the operation."
+ },
+ "resource": {
+ "type": "string",
+ "description": "The resource type on which this operation can be performed."
+ },
+ "operation": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the operation."
+ }
+ }
+ },
+ "StepResource": {
+ "description": "The resource representation of a rollout step.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The properties that define the step.",
+ "$ref": "#/definitions/StepProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "StepProperties": {
+ "description": "The properties of a step resource.",
+ "type": "object",
+ "discriminator": "stepType",
+ "properties": {
+ "stepType": {
+ "type": "string",
+ "description": "The type of step.",
+ "enum": [
+ "Wait",
+ "HealthCheck"
+ ],
+ "x-ms-enum": {
+ "name": "StepType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "stepType"
+ ]
+ },
+ "HealthCheckStepProperties": {
+ "x-ms-discriminator-value": "HealthCheck",
+ "type": "object",
+ "description": "Defines the properties of a health check step.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepProperties"
+ }
+ ],
+ "properties": {
+ "attributes": {
+ "description": "The health check step attributes",
+ "$ref": "#/definitions/HealthCheckStepAttributes"
+ }
+ },
+ "required": [
+ "attributes"
+ ]
+ },
+ "HealthCheckStepAttributes": {
+ "type": "object",
+ "description": "The attributes for the health check step.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of health check.",
+ "example": "REST"
+ },
+ "waitDuration": {
+ "type": "string",
+ "description": "The duration in ISO 8601 format for which health check waits idly without any checks.",
+ "example": "PT15M"
+ },
+ "maxElasticDuration": {
+ "type": "string",
+ "description": "The duration in ISO 8601 format for which the health check waits for the resource to become healthy. Health check fails if it doesn't. Health check starts to enforce healthyStateDuration once resource becomes healthy.",
+ "example": "PT30M"
+ },
+ "healthyStateDuration": {
+ "type": "string",
+ "description": "The duration in ISO 8601 format for which the resource is expected to be continuously healthy. If maxElasticDuration is specified, healthy state duration is enforced after the detection of first healthy signal.",
+ "example": "PT60M"
+ }
+ },
+ "required": [
+ "type",
+ "healthyStateDuration"
+ ]
+ },
+ "RestHealthCheckStepAttributes": {
+ "x-ms-discriminator-value": "REST",
+ "type": "object",
+ "description": "Defines the REST health check step properties.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthCheckStepAttributes"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The REST health check parameters.",
+ "$ref": "#/definitions/RestParameters"
+ }
+ }
+ },
+ "RestParameters": {
+ "type": "object",
+ "description": "The parameters for the REST health check.",
+ "properties": {
+ "healthChecks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestHealthCheck"
+ },
+ "description": "The list of checks that form the health check step."
+ }
+ },
+ "required": [
+ "healthChecks"
+ ]
+ },
+ "RestHealthCheck": {
+ "type": "object",
+ "description": "A REST based health check",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A unique name for this check."
+ },
+ "request": {
+ "description": "The request to the health provider.",
+ "$ref": "#/definitions/RestRequest"
+ },
+ "response": {
+ "description": "The expected response from the health provider. If no expected response is provided, the default is to expect the received response to have an HTTP status code of 200 OK.",
+ "$ref": "#/definitions/RestResponse"
+ }
+ },
+ "required": [
+ "name",
+ "request"
+ ]
+ },
+ "RestRequest": {
+ "type": "object",
+ "description": "The properties that make up a REST request",
+ "properties": {
+ "method": {
+ "type": "string",
+ "description": "The HTTP method to use for the request.",
+ "enum": [
+ "GET",
+ "POST"
+ ],
+ "x-ms-enum": {
+ "name": "RestRequestMethod",
+ "modelAsString": false
+ }
+ },
+ "uri": {
+ "type": "string",
+ "description": "The HTTP URI to use for the request."
+ },
+ "authentication": {
+ "description": "The authentication information required in the request to the health provider.",
+ "$ref": "#/definitions/RestRequestAuthentication"
+ }
+ },
+ "required": [
+ "method",
+ "uri",
+ "authentication"
+ ]
+ },
+ "RestRequestAuthentication": {
+ "type": "object",
+ "description": "The authentication information required in the REST health check request to the health provider.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The authentication type.",
+ "example": "ApiKey",
+ "enum": [
+ "ApiKey",
+ "RolloutIdentity"
+ ],
+ "x-ms-enum": {
+ "name": "RestAuthType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "RolloutIdentityAuthentication": {
+ "x-ms-discriminator-value": "RolloutIdentity",
+ "description": "RolloutIdentity uses the user-assigned managed identity authentication context specified in the Identity property during rollout creation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestRequestAuthentication"
+ }
+ ]
+ },
+ "ApiKeyAuthentication": {
+ "x-ms-discriminator-value": "ApiKey",
+ "description": "ApiKey authentication gives a name and a value that can be included in either the request header or query parameters.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestRequestAuthentication"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The key name of the authentication key/value pair."
+ },
+ "in": {
+ "type": "string",
+ "description": "The location of the authentication key/value pair in the request.",
+ "enum": [
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "RestAuthLocation",
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the authentication key/value pair."
+ }
+ },
+ "required": [
+ "name",
+ "in",
+ "value"
+ ]
+ },
+ "RestResponse": {
+ "type": "object",
+ "description": "The properties that make up the expected REST response",
+ "properties": {
+ "successStatusCodes": {
+ "type": "array",
+ "description": "The HTTP status codes expected in a successful health check response. The response is expected to match one of the given status codes. If no expected status codes are provided, default expected status code is 200 OK.",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Ok",
+ "No Content"
+ ]
+ },
+ "regex": {
+ "type": "object",
+ "description": "The regular expressions to match the response content with.",
+ "properties": {
+ "matches": {
+ "type": "array",
+ "description": "The list of regular expressions.",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Contoso-Service-EndToEnd",
+ "(?i)\"health_status\":((.|\n)*)\"(green|yellow)\"",
+ "(?mi)^(\"application_host\": 94781052)$"
+ ]
+ },
+ "matchQuantifier": {
+ "type": "string",
+ "description": "Indicates whether any or all of the expressions should match with the response content.",
+ "enum": [
+ "All",
+ "Any"
+ ],
+ "x-ms-enum": {
+ "name": "RestMatchQuantifier",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "WaitStepProperties": {
+ "x-ms-discriminator-value": "Wait",
+ "type": "object",
+ "description": "Defines the properties of a Wait step.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepProperties"
+ }
+ ],
+ "properties": {
+ "attributes": {
+ "description": "The Wait attributes",
+ "$ref": "#/definitions/WaitStepAttributes"
+ }
+ },
+ "required": [
+ "attributes"
+ ]
+ },
+ "WaitStepAttributes": {
+ "type": "object",
+ "description": "The parameters for the wait step.",
+ "properties": {
+ "duration": {
+ "type": "string",
+ "description": "The duration in ISO 8601 format of how long the wait should be.",
+ "example": "PT30M"
+ }
+ },
+ "required": [
+ "duration"
+ ]
+ },
+ "ServiceTopologiesListResult": {
+ "description": "The list of service topologies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTopologyResource"
+ }
+ },
+ "ServiceListResult": {
+ "description": "The list of services.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "ServiceUnitListResult": {
+ "description": "The list of service units.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceUnitResource"
+ }
+ },
+ "StepResourceListResult": {
+ "description": "The list of steps.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StepResource"
+ }
+ },
+ "ArtifactSourceListResult": {
+ "description": "The list of artifact sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArtifactSource"
+ }
+ },
+ "RolloutListResult": {
+ "description": "The list of rollouts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Rollout"
+ }
+ }
+ },
+ "parameters": {
+ "artifactSourceName": {
+ "description": "The name of the artifact source.",
+ "name": "artifactSourceName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "serviceTopologyName": {
+ "name": "serviceTopologyName",
+ "in": "path",
+ "description": "The name of the service topology .",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "serviceName": {
+ "name": "serviceName",
+ "in": "path",
+ "description": "The name of the service resource.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "serviceUnitName": {
+ "name": "serviceUnitName",
+ "in": "path",
+ "description": "The name of the service unit resource.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "stepName": {
+ "name": "stepName",
+ "in": "path",
+ "description": "The name of the deployment step.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "client"
+ },
+ "resourceGroupName": {
+ "description": "The name of the resource group. The name is case insensitive.",
+ "name": "resourceGroupName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ "rolloutName": {
+ "description": "The rollout name.",
+ "name": "rolloutName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "retryAttempt": {
+ "name": "retryAttempt",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "description": "Rollout retry attempt ordinal to get the result of. If not specified, result of the latest attempt will be returned.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation.",
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate.json
new file mode 100644
index 000000000000..f20743c1a4af
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "artifactSourceName": "myArtifactSource",
+ "api-version": "2019-11-01-preview",
+ "artifactSourceInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myArtifactSource",
+ "type": "Microsoft.DeploymentManager/artifactSources",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate_artifactroot.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate_artifactroot.json
new file mode 100644
index 000000000000..9d664c0186d8
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_createorupdate_artifactroot.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "artifactSourceName": "myArtifactSource",
+ "api-version": "2019-11-01-preview",
+ "artifactSourceInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "artifactRoot": "1.0.0.0",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myArtifactSource",
+ "type": "Microsoft.DeploymentManager/artifactSources",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_delete.json
new file mode 100644
index 000000000000..9bdd1a2b8df3
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "artifactSourceName": "myArtifactSource",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_get.json
new file mode 100644
index 000000000000..6008aaf71d99
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsource_get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "artifactSourceName": "myArtifactSource",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myArtifactSource",
+ "type": "Microsoft.DeploymentManager/artifactSources",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsources_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsources_list.json
new file mode 100644
index 000000000000..c96954920d11
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/artifactsources_list.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "TemplatesArtifactSource",
+ "type": "Microsoft.DeploymentManager/artifactSources",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/templates?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ },
+ {
+ "name": "BinariesArtifactSource",
+ "type": "Microsoft.DeploymentManager/artifactSources",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "sourceType": "AzureStorage",
+ "artifactRoot": "builds/1.0.0.1",
+ "authentication": {
+ "type": "Sas",
+ "properties": {
+ "sasUri": "https://mystorageaccount.blob.core.windows.net/binaries?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/operations_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/operations_list.json
new file mode 100644
index 000000000000..e7afad6252df
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/operations_list.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/read",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceTopology",
+ "operation": "View service topology",
+ "description": "View the properties of a service topology"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/write",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceTopology",
+ "operation": "Update the service topology",
+ "description": "Create a new topology or update the properties of an existing topology"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/delete",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceTopology",
+ "operation": "Delete service topology",
+ "description": "Deletes an existing topology."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/read",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Service",
+ "operation": "View service in a topology",
+ "description": "View the properties of a service in a service topology"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/write",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Service",
+ "operation": "Update the service in a topology",
+ "description": "Create a new service or update the properties of an existing service"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/delete",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Service",
+ "operation": "Delete service",
+ "description": "Deletes an existing service in a service topology."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/serviceUnits/read",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceUnit",
+ "operation": "View service unit",
+ "description": "View the properties of a service unit"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/serviceUnits/write",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceUnit",
+ "operation": "Update the service unit",
+ "description": "Create a new service unit or update the properties of an existing service unit"
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/serviceTopologies/services/serviceUnits/delete",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ServiceUnit",
+ "operation": "Delete service unit",
+ "description": "Deletes an existing service unit."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/artifactSources/read",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ArtifactSource",
+ "operation": "View artifact source",
+ "description": "View the properties of an artifact source."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/artifactSources/write",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ArtifactSource",
+ "operation": "Update the artifact source",
+ "description": "Create a new artifact source or updates the properties of an existing artifact source."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/artifactSources/delete",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "ArtifactSource",
+ "operation": "Delete artifact source",
+ "description": "Deletes an existing artifact source."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/rollouts/read",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Rollout",
+ "operation": "View rollout",
+ "description": "View the properties of rollout."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/rollouts/write",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Rollout",
+ "operation": "Create or update a rollout.",
+ "description": "Create a new rollout or update an existing rollout."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/rollouts/restart",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Rollout",
+ "operation": "Restart a rollout",
+ "description": "Restarts a failed rollout."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/rollouts/cancel",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Rollout",
+ "operation": "Cancel a rollout",
+ "description": "Cancel a rollout in progress."
+ }
+ },
+ {
+ "name": "Microsoft.DeploymentManager/rollouts/delete",
+ "display": {
+ "provider": "Azure Deployment Manager",
+ "resource": "Rollout",
+ "operation": "Delete rollout",
+ "description": "Deletes an existing rollout."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_createorupdate.json
new file mode 100644
index 000000000000..5ecd2a2b9313
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_createorupdate.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "rolloutName": "myRollout",
+ "api-version": "2019-11-01-preview",
+ "rolloutRequest": {
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/myArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ },
+ {
+ "name": "SecondRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep3"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep4"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep5"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/myArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ },
+ {
+ "name": "SecondRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep3"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep4"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep5"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_delete.json
new file mode 100644
index 000000000000..acc12c224ca5
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "rolloutName": "myRollout",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_get.json
new file mode 100644
index 000000000000..9e25323db3e6
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_get.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "rolloutName": "myRollout",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "status": "Running",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "retryAttempt": 0
+ },
+ "totalRetryAttempts": 0,
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/myArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ },
+ {
+ "name": "SecondRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep3"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep4"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep5"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "myService1",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7",
+ "targetLocation": "centralus",
+ "serviceUnits": [
+ {
+ "name": "myTopologyUni1",
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "steps": [
+ {
+ "name": "preDeploymentStep1",
+ "status": "succeeded",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "endTime": "2018-08-28T03:35:28.556Z"
+ }
+ },
+ {
+ "name": "preDeploymentStep2",
+ "status": "succeeded",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:36:56.386Z",
+ "endTime": "2018-08-28T03:37:28.556Z"
+ }
+ },
+ {
+ "name": "deploy",
+ "status": "running",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:38:56.386Z",
+ "lastUpdatedTime": "2018-08-28T03:39:28.556Z"
+ },
+ "resourceOperations": [
+ {
+ "resourceName": "keyVaultcentralus",
+ "operationId": "20FC5A21382DA306",
+ "resourceType": "Microsoft.KeyVault/vaults",
+ "provisioningState": "Succeeded",
+ "statusMessage": "",
+ "statusCode": "OK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_cancel.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_cancel.json
new file mode 100644
index 000000000000..0e701fec5a02
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_cancel.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "rolloutName": "myRollout",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "status": "Canceling",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "retryAttempt": 0
+ },
+ "totalRetryAttempts": 0,
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/myArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ },
+ {
+ "name": "SecondRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep3"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep4"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep5"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "myService1",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7",
+ "targetLocation": "centralus",
+ "serviceUnits": [
+ {
+ "name": "myTopologyUni1",
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "steps": [
+ {
+ "name": "preDeploymentStep1",
+ "status": "succeeded",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "endTime": "2018-08-28T03:35:28.556Z"
+ }
+ },
+ {
+ "name": "preDeploymentStep2",
+ "status": "succeeded",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:36:56.386Z",
+ "endTime": "2018-08-28T03:37:28.556Z"
+ }
+ },
+ {
+ "name": "deploy",
+ "status": "running",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:38:56.386Z",
+ "lastUpdatedTime": "2018-08-28T03:39:28.556Z"
+ },
+ "resourceOperations": [
+ {
+ "resourceName": "keyVaultcentralus",
+ "operationId": "20FC5A21382DA306",
+ "resourceType": "Microsoft.KeyVault/vaults",
+ "provisioningState": "Succeeded",
+ "statusMessage": "",
+ "statusCode": "OK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_restart.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_restart.json
new file mode 100644
index 000000000000..c9b4fef98cd6
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollout_post_restart.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "rolloutName": "myRollout",
+ "skipSucceeded": true,
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "status": "Running",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "retryAttempt": 1
+ },
+ "totalRetryAttempts": 1,
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/myArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ },
+ {
+ "name": "SecondRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep3"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep4"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep5"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollouts_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollouts_list.json
new file mode 100644
index 000000000000..dd2d56e65529
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/rollouts_list.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "CanaryRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "status": "Succeeded",
+ "operationInfo": {
+ "startTime": "2018-08-28T03:33:56.386Z",
+ "endTime": "2018-08-28T03:43:55.010Z",
+ "retryAttempt": 0
+ },
+ "totalRetryAttempts": 0,
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/binariesArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "FirstRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep1"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit1'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep1"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "ProdRollout",
+ "type": "Microsoft.DeploymentManager/rollouts",
+ "location": "centralus",
+ "tags": {},
+ "identity": {
+ "type": "userAssigned",
+ "identityIds": [
+ "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userassignedidentities/myuseridentity"
+ ]
+ },
+ "properties": {
+ "status": "Running",
+ "operationInfo": {
+ "startTime": "2019-05-02T03:33:56.386Z",
+ "retryAttempt": 0
+ },
+ "totalRetryAttempts": 0,
+ "buildVersion": "1.0.0.1",
+ "artifactSourceId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/artifactSources/binariesArtifactSource",
+ "targetServiceTopologyId": "/subscriptions/caac1590-e859-444f-a9e0-62091c0f5929/resourceGroups/myResourceGroup/Microsoft.DeploymentManager/serviceTopologies/myTopology",
+ "stepGroups": [
+ {
+ "name": "ProdRegion",
+ "preDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep"
+ },
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/preDeployStep2"
+ }
+ ],
+ "deploymentTargetId": "Microsoft.DeploymentManager/serviceTopologies/myTopology/services/myService/serviceUnits/myServiceUnit2'",
+ "postDeploymentSteps": [
+ {
+ "stepId": "Microsoft.DeploymentManager/steps/postDeployStep3"
+ }
+ ],
+ "dependsOnStepGroups": [
+ "FirstRegion"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_createorupdate.json
new file mode 100644
index 000000000000..5ca7e868a588
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_createorupdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "api-version": "2019-11-01-preview",
+ "serviceInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetLocation": "centralus",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myService",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetLocation": "centralus",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_delete.json
new file mode 100644
index 000000000000..00f626eb62cf
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_get.json
new file mode 100644
index 000000000000..e9f59cca7cc0
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/service_get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myService",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetLocation": "centralus",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/services_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/services_list.json
new file mode 100644
index 000000000000..8edd60ad4200
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/services_list.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "Service East",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetLocation": "eastus",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7"
+ }
+ },
+ {
+ "name": "Service West",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetLocation": "westus",
+ "targetSubscriptionId": "600c95c5-3ee5-44fe-b190-ca38a19adcd7"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopologies_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopologies_list.json
new file mode 100644
index 000000000000..2fdd120aa40e
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopologies_list.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "ContosoSvc1Topology",
+ "type": "Microsoft.DeploymentManager/serviceTopologies",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "artifactSourceId": "Microsoft.DeploymentManager/artifactSources/contoso1ArtifactSource"
+ }
+ },
+ {
+ "name": "ContosoSvc2Topology",
+ "type": "Microsoft.DeploymentManager/serviceTopologies",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "artifactSourceId": "Microsoft.DeploymentManager/artifactSources/contoso2ArtifactSource"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate.json
new file mode 100644
index 000000000000..fbf1d2590f05
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "api-version": "2019-11-01-preview",
+ "serviceTopologyInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "artifactSourceId": "Microsoft.DeploymentManager/artifactSources/myArtifactSource"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myTopology",
+ "type": "Microsoft.DeploymentManager/serviceTopologies",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "artifactSourceId": "Microsoft.DeploymentManager/artifactSources/myArtifactSource"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate_noartifactsource.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate_noartifactsource.json
new file mode 100644
index 000000000000..e622f7fa11e8
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_createorupdate_noartifactsource.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "api-version": "2019-11-01-preview",
+ "serviceTopologyInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myTopology",
+ "type": "Microsoft.DeploymentManager/serviceTopologies",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_delete.json
new file mode 100644
index 000000000000..ef0abe0d2609
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_get.json
new file mode 100644
index 000000000000..ac036b32147d
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/servicetopology_get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myTopology",
+ "type": "Microsoft.DeploymentManager/serviceTopologies",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "artifactSourceId": "Microsoft.DeploymentManager/artifactSources/myArtifactSource"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate.json
new file mode 100644
index 000000000000..96edfad758e8
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "serviceUnitName": "myServiceUnit",
+ "api-version": "2019-11-01-preview",
+ "serviceUnitInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateArtifactSourceRelativePath": "templates/myTopologyUnit.template.json",
+ "parametersArtifactSourceRelativePath": "parameter/myTopologyUnit.parameters.json"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myServiceUnit",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services/serviceUnits",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateArtifactSourceRelativePath": "templates/myTopologyUnit.template.json",
+ "parametersArtifactSourceRelativePath": "parameter/myTopologyUnit.parameters.json"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate_noartifactsource.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate_noartifactsource.json
new file mode 100644
index 000000000000..a5a4bd897d0e
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_createorupdate_noartifactsource.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "serviceUnitName": "myServiceUnit",
+ "api-version": "2019-11-01-preview",
+ "serviceUnitInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource/templates/myTopologyUnit.template.json?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D",
+ "parametersUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource/parameter/myTopologyUnit.parameters.json?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myServiceUnit",
+ "type": "Microsoft.DeploymentManager/serviceTopologies/services/serviceUnits",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource/templates/myTopologyUnit.template.json?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D",
+ "parametersUri": "https://mystorageaccount.blob.core.windows.net/myartifactsource/parameter/myTopologyUnit.parameters.json?st=2018-07-07T14%3A10%3A00Z&se=2019-12-31T15%3A10%3A00Z&sp=rl&sv=2017-04-17&sr=c&sig=Yh2SoJ1NhhLRwCLln7de%2Fkabcdefghijklmno5sWEIk%3D"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_delete.json
new file mode 100644
index 000000000000..2e9ecdc6183f
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "serviceUnitName": "myServiceUnit",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_get.json
new file mode 100644
index 000000000000..1bdbe6f34d6f
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunit_get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "serviceUnitName": "myServiceUnit",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myServiceUnit",
+ "type": "Microsoft.DeploymentManager/servicetopologies/services/serviceunits",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateArtifactSourceRelativePath": "templates/myTopologyUnit.template.json",
+ "parametersArtifactSourceRelativePath": "parameter/myTopologyUnit.parameters.json"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunits_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunits_list.json
new file mode 100644
index 000000000000..c7d5a4e0d71b
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/serviceunits_list.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "serviceTopologyName": "myTopology",
+ "serviceName": "myService",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "BackEndServiceUnit",
+ "type": "Microsoft.DeploymentManager/servicetopologies/services/serviceunits",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Incremental",
+ "artifacts": {
+ "templateArtifactSourceRelativePath": "templates/backend.template.json",
+ "parametersArtifactSourceRelativePath": "parameter/backend.parameters.json"
+ }
+ }
+ },
+ {
+ "name": "FrontEndServiceUnit",
+ "type": "Microsoft.DeploymentManager/servicetopologies/services/serviceunits",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "targetResourceGroup": "myDeploymentResourceGroup",
+ "deploymentMode": "Complete",
+ "artifacts": {
+ "templateArtifactSourceRelativePath": "templates/frontend.template.json",
+ "parametersArtifactSourceRelativePath": "parameter/frontend.parameters.json"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_delete.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_delete.json
new file mode 100644
index 000000000000..987f1fa0c2ff
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "stepName": "deploymentStep1",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_get.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_get.json
new file mode 100644
index 000000000000..da493554e61a
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "stepName": "waitStep",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "deploymentStep1",
+ "type": "Microsoft.DeploymentManager/steps",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "Wait",
+ "attributes": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_health_check_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_health_check_createorupdate.json
new file mode 100644
index 000000000000..cc21360eb0f5
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_health_check_createorupdate.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "stepName": "healthCheckStep",
+ "api-version": "2019-11-01-preview",
+ "stepInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "HealthCheck",
+ "attributes": {
+ "waitDuration": "PT15M",
+ "maxElasticDuration": "PT30M",
+ "healthyStateDuration": "PT2H",
+ "type": "REST",
+ "properties": {
+ "healthChecks": [
+ {
+ "name": "appHealth",
+ "request": {
+ "method": "GET",
+ "uri": "https://resthealth.healthservice.com/api/applications/contosoApp/healthStatus",
+ "authentication": {
+ "type": "ApiKey",
+ "name": "Code",
+ "in": "Query",
+ "value": "NBCapiMOBQyAAbCkeytoPadnvO0eGHmidwFz5rXpappznKp3Jt7LLg=="
+ }
+ },
+ "response": {
+ "successStatusCodes": [
+ "OK"
+ ],
+ "regex": {
+ "matchQuantifier": "All",
+ "matches": [
+ "(?i)Contoso-App",
+ "(?i)\"health_status\":((.|\n)*)\"(green|yellow)\"",
+ "(?mi)^(\"application_host\": 94781052)$"
+ ]
+ }
+ }
+ },
+ {
+ "name": "serviceHealth",
+ "request": {
+ "method": "GET",
+ "uri": "https://resthealth.healthservice.com/api/services/contosoService/healthStatus",
+ "authentication": {
+ "type": "ApiKey",
+ "name": "code",
+ "in": "Header",
+ "value": "NBCapiMOBQyAAbCkeytoPadnvO0eGHmidwFz5rXpappznKp3Jt7LLg=="
+ }
+ },
+ "response": {
+ "successStatusCodes": [
+ "OK"
+ ],
+ "regex": {
+ "matchQuantifier": "All",
+ "matches": [
+ "(?i)Contoso-Service-EndToEnd",
+ "(?i)\"health_status\":((.|\n)*)\"(green)\""
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "healthCheckStep",
+ "type": "Microsoft.DeploymentManager/steps",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "HealthCheck",
+ "attributes": {
+ "waitDuration": "PT15M",
+ "maxElasticDuration": "PT30M",
+ "healthyStateDuration": "PT2H",
+ "type": "REST",
+ "properties": {
+ "healthChecks": [
+ {
+ "name": "appHealth",
+ "request": {
+ "method": "GET",
+ "uri": "https://resthealth.healthservice.com/api/applications/contosoApp/healthStatus",
+ "authentication": {
+ "type": "ApiKey",
+ "name": "Code",
+ "in": "Query",
+ "value": "NBCapiMOBQyAAbCkeytoPadnvO0eGHmidwFz5rXpappznKp3Jt7LLg=="
+ }
+ },
+ "response": {
+ "successStatusCodes": [
+ "OK"
+ ],
+ "regex": {
+ "matchQuantifier": "All",
+ "matches": [
+ "(?i)Contoso-App",
+ "(?i)\"health_status\":((.|\n)*)\"(green|yellow)\"",
+ "(?mi)^(\"application_host\": 94781052)$"
+ ]
+ }
+ }
+ },
+ {
+ "name": "serviceHealth",
+ "request": {
+ "method": "GET",
+ "uri": "https://resthealth.healthservice.com/api/services/contosoService/healthStatus",
+ "authentication": {
+ "type": "ApiKey",
+ "name": "code",
+ "in": "Header",
+ "value": "NBCapiMOBQyAAbCkeytoPadnvO0eGHmidwFz5rXpappznKp3Jt7LLg=="
+ }
+ },
+ "response": {
+ "successStatusCodes": [
+ "OK"
+ ],
+ "regex": {
+ "matchQuantifier": "All",
+ "matches": [
+ "(?i)Contoso-Service-EndToEnd",
+ "(?i)\"health_status\":((.|\n)*)\"(green)\""
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_wait_createorupdate.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_wait_createorupdate.json
new file mode 100644
index 000000000000..92a3f5563add
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/step_wait_createorupdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "stepName": "waitStep",
+ "api-version": "2019-11-01-preview",
+ "stepInfo": {
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "Wait",
+ "attributes": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "waitStep",
+ "type": "Microsoft.DeploymentManager/steps",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "Wait",
+ "attributes": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/steps_list.json b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/steps_list.json
new file mode 100644
index 000000000000..b18db31e93f2
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/Microsoft.DeploymentManager/preview/2019-11-01-preview/examples/steps_list.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "caac1590-e859-444f-a9e0-62091c0f5929",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "waitStepfrontEnd",
+ "type": "Microsoft.DeploymentManager/steps",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "Wait",
+ "attributes": {
+ "duration": "PT10M"
+ }
+ }
+ },
+ {
+ "name": "waitStepBackEnd",
+ "type": "Microsoft.DeploymentManager/steps",
+ "location": "centralus",
+ "tags": {},
+ "properties": {
+ "stepType": "Wait",
+ "attributes": {
+ "duration": "PT30M"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/deploymentmanager/resource-manager/readme.go.md b/specification/deploymentmanager/resource-manager/readme.go.md
index 0c0a2b3093e2..690a00d5f53b 100644
--- a/specification/deploymentmanager/resource-manager/readme.go.md
+++ b/specification/deploymentmanager/resource-manager/readme.go.md
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-11-01-preview
- tag: package-2018-09-01-preview
```
+### Tag: package-2019-11-01-preview and go
+
+These settings apply only when `--tag=package-2019-11-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-11-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-11-01-preview/$(namespace)
+```
+
### Tag: package-2018-09-01-preview and go
These settings apply only when `--tag=package-2018-09-01-preview --go` is specified on the command line.
diff --git a/specification/deploymentmanager/resource-manager/readme.md b/specification/deploymentmanager/resource-manager/readme.md
index d3e274de3163..fd8b13f1e887 100644
--- a/specification/deploymentmanager/resource-manager/readme.md
+++ b/specification/deploymentmanager/resource-manager/readme.md
@@ -24,12 +24,16 @@ These are the global settings for the DeploymentManager API.
``` yaml
openapi-type: arm
-tag: package-2018-09-01-preview
+tag: package-2019-11-01-preview
```
-### Suppression
+### Tag: package-2019-11-01-preview
-``` yaml
+These settings apply only when `package-2019-11-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-01-preview'
+input-file:
+- Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json
directive:
- suppress: EnumInsteadOfBoolean
reason: The boolean properties in the specification are actually boolean values in the Deployment Manager application model.
@@ -45,6 +49,9 @@ directive:
- suppress: TrackedResourceListByResourceGroup
reason: Not available at this time.
from: deploymentmanager.json
+ - suppress: PageableOperation
+ reason: List operations returns a static list of supported operations for each API version and does not need paging.
+ from: deploymentmanager.json
- suppress: TrackedResourceGetOperation
reason: The rollout resource has a get operation. The request and response types are separated for clarity.
where: $.definitions.RolloutRequest
@@ -63,6 +70,30 @@ These settings apply only when `package-2018-09-01-preview` is specified on the
``` yaml $(tag) == 'package-2018-09-01-preview'
input-file:
- Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.json
+directive:
+ - suppress: EnumInsteadOfBoolean
+ reason: The boolean properties in the specification are actually boolean values in the Deployment Manager application model.
+ from: deploymentmanager.json
+ - suppress: TrackedResourceListByImmediateParent
+ reason: Not available during preview.
+ - suppress: TrackedResourcePatchOperation
+ reason: Not available at this time.
+ from: deploymentmanager.json
+ - suppress: TrackedResourceListBySubscription
+ reason: Not available at this time.
+ from: deploymentmanager.json
+ - suppress: TrackedResourceListByResourceGroup
+ reason: Not available at this time.
+ from: deploymentmanager.json
+ - suppress: TrackedResourceGetOperation
+ reason: The rollout resource has a get operation. The request and response types are separated for clarity.
+ where: $.definitions.RolloutRequest
+ - suppress: DescriptionAndTitleMissing
+ reason: Common types warning.
+ where: $.definitions.Resource
+ - suppress: AvoidNestedProperties
+ reason: Nesting had to be avoided to have the autogenerated classes compose the required polymorphic 'properties' property in the StepResource.
+ where: $.definitions.StepResource.properties.properties
```
---
@@ -115,7 +146,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.deploymentmanager
package-name: azure-mgmt-deploymentmanager
- package-version: 0.9.0
+ package-version: 0.9.1
clear-output-folder: true
override-client-name: DeploymentManagerClient
```
@@ -144,7 +175,7 @@ azure-arm: true
fluent: true
namespace: com.microsoft.azure.management.deploymentmanager
license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
+payload-flattening-threshold: 2
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-deploymentmanager
```
@@ -152,18 +183,18 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-deploymentmanager
``` yaml $(java) && $(multiapi)
batch:
- - tag: package-2018-09-01-preview
+ - tag: package-2019-11-01-preview
```
-### Tag: package-2018-09-01-preview and java
+### Tag: package-2019-11-01-preview and java
-These settings apply only when `--tag=package-2018-09-01-preview --java` is specified on the command line.
+These settings apply only when `--tag=package-2019-11-01-preview --java` is specified on the command line.
Please also specify `--azure-libraries-for-java=`.
-``` yaml $(tag) == 'package-2018-09-01-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-2019-11-01-preview' && $(java) && $(multiapi)
java:
- namespace: com.microsoft.azure.management.deploymentmanager.v2018-09-01-preview
- output-folder: $(azure-libraries-for-java-folder)/deploymentmanager/resource-manager/v2018-09-01-preview
+ namespace: com.microsoft.azure.management.deploymentmanager.v2019_11_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/deploymentmanager/mgmt-v2019_11_01_preview
regenerate-manager: true
generate-interface: true
```
@@ -180,6 +211,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json
- $(this-folder)/Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.json
```
diff --git a/specification/deploymentmanager/resource-manager/readme.ruby.md b/specification/deploymentmanager/resource-manager/readme.ruby.md
index 2ddf1d0f479c..9d3c8a2ad44c 100644
--- a/specification/deploymentmanager/resource-manager/readme.ruby.md
+++ b/specification/deploymentmanager/resource-manager/readme.ruby.md
@@ -12,16 +12,16 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
- - tag: package-2018-09-01-preview
+ - tag: package-2019-11-01-preview
```
-### Tag: package-2018-09-01-preview and ruby
+### Tag: package-2019-11-01-preview and ruby
-These settings apply only when `--tag=package-2018-09-01-preview --ruby` is specified on the command line.
+These settings apply only when `--tag=package-2019-11-01-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-09-01-preview' && $(ruby)
-namespace: "Azure::DeploymentManager::Mgmt::V2018-09-01-preview"
+``` yaml $(tag) == 'package-2019-11-01-preview' && $(ruby)
+namespace: "Azure::DeploymentManager::Mgmt::V2019-11-01-preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_deploymentmanager/lib
```
diff --git a/specification/deploymentmanager/resource-manager/readme.typescript.md b/specification/deploymentmanager/resource-manager/readme.typescript.md
index c5770c7c83d6..c11da5069a66 100644
--- a/specification/deploymentmanager/resource-manager/readme.typescript.md
+++ b/specification/deploymentmanager/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-deploymentmanager"
output-folder: "$(typescript-sdks-folder)/sdk/deploymentmanager/arm-deploymentmanager"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
index 18155cc20851..12b9dedbbe9a 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -150,7 +150,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+```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.DigitalTwins
+ output-folder: $(csharp-sdks-folder)/digitaltwins/management/Microsoft.DigitalTwins/GeneratedProtocol
+```
diff --git a/specification/digitaltwins/resource-manager/readme.go.md b/specification/digitaltwins/resource-manager/readme.go.md
new file mode 100644
index 000000000000..111d623ddb80
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/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-2020-03-01-preview and go
+
+These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=digitaltwins`.
+
+```yaml $(tag) == 'package-2020-03-01-preview' && $(go)
+namespace: digitaltwins
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace)
+```
diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md
new file mode 100644
index 000000000000..3637629ef595
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/readme.md
@@ -0,0 +1,104 @@
+# digitaltwins
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for digitaltwins.
+
+## 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 digitaltwins.
+
+```yaml
+openapi-type: arm
+tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview
+
+These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-03-01-preview'
+input-file:
+ - Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.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_digitaltwins']
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## 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.DigitalTwins/preview/2020-03-01-preview/digitaltwins.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/digitaltwins/resource-manager/readme.python.md b/specification/digitaltwins/resource-manager/readme.python.md
new file mode 100644
index 000000000000..e17563d2181a
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/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.DigitalTwins
+ package-name: digitaltwins
+ package-version: 2020-03-01-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/digitaltwins
+```
diff --git a/specification/digitaltwins/resource-manager/readme.ruby.md b/specification/digitaltwins/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..31f23b70c07d
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/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_digitaltwins
+package-version: 2020-03-01-preview
+azure-arm: true
+```
+
+### Tag: package-2020-03-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-03-01-preview' && $(ruby)
+namespace: Microsoft.DigitalTwins
+output-folder: $(ruby-sdks-folder)/digitaltwins
+```
diff --git a/specification/digitaltwins/resource-manager/readme.typescript.md b/specification/digitaltwins/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..3154decaf68e
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "digitaltwins"
+ output-folder: "$(typescript-sdks-folder)/packages/digitaltwins"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md
index d54ee0216ba4..60903e790fef 100644
--- a/specification/dns/resource-manager/readme.md
+++ b/specification/dns/resource-manager/readme.md
@@ -196,7 +196,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.domainservices.v2020_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2017-06 and java
These settings apply only when `--tag=package-2017-06 --java` is specified on the command line.
@@ -113,7 +136,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-04-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-04-01-preview/$(namespace)
+```
+
+### Tag: package-2020-01-preview and go
+
+These settings apply only when `--tag=package-2020-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-01-01-preview/$(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/eventgrid/resource-manager/readme.java.md b/specification/eventgrid/resource-manager/readme.java.md
index 6df449adad2d..7f0e1b379b95 100644
--- a/specification/eventgrid/resource-manager/readme.java.md
+++ b/specification/eventgrid/resource-manager/readme.java.md
@@ -16,6 +16,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-04-preview
+ - tag: package-2020-01-preview
- tag: package-2019-06
- tag: package-2019-02-preview
- tag: package-2019-01
@@ -24,6 +26,34 @@ batch:
- tag: package-2018-01
```
+### Tag: package-2020-01-preview and java
+
+These settings apply only when `--tag=package-2020-04-preview --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-04-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2020_04_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2020_04_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2020-01-preview and java
+
+These settings apply only when `--tag=package-2020-01-preview --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2020_01_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2020_01_01_preview
+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.
@@ -33,7 +63,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-04-preview' && $(ruby)
+
+namespace: "Azure::EventGrid::Mgmt::V2020_04_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
+### Tag: package-2020-01-preview and ruby
+These settings apply only when `--tag=package-2020-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-01-preview' && $(ruby)
+
+namespace: "Azure::EventGrid::Mgmt::V2020_01_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
### Tag: package-2019-06 and ruby
These settings apply only when `--tag=package-2019-06 --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
``` yaml $(tag) == 'package-2019-06' && $(ruby)
-namespace: "Azure::EventGrid::Mgmt::V2019_02_01_preview"
+namespace: "Azure::EventGrid::Mgmt::V2019_06_01"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
```
@@ -100,4 +122,4 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-11' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-11-01/$(namespace)
+```
+
+### Tag: package-2019-10 and go
+
+These settings apply only when `--tag=package-2019-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
### Tag: package-2019-05 and go
These settings apply only when `--tag=package-2019-05 --go` is specified on the command line.
diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md
index a6cdc85def37..6c153cef5bf3 100644
--- a/specification/frontdoor/resource-manager/readme.md
+++ b/specification/frontdoor/resource-manager/readme.md
@@ -28,17 +28,18 @@ These are the global settings for the FrontDoor API.
title: FrontDoorManagementClient
description: FrontDoor Client
openapi-type: arm
-tag: package-2019-10
+tag: package-2019-11
```
-### Tag: package-2019-10
+### Tag: package-2019-11
-These settings apply only when `--tag=package-2019-10` is specified on the command line.
+These settings apply only when `--tag=package-2019-11` is specified on the command line.
-``` yaml $(tag) == 'package-2019-10'
+``` 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-05-01/network.json
- Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
directive:
- where:
@@ -47,14 +48,15 @@ directive:
- OperationsAPIImplementation
```
-### Tag: package-2019-11
+### Tag: package-2019-10
-These settings apply only when `--tag=package-2019-11` is specified on the command line.
+These settings apply only when `--tag=package-2019-10` is specified on the command line.
-``` yaml $(tag) == 'package-2019-11'
+``` yaml $(tag) == 'package-2019-10'
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-05-01/network.json
+- Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
directive:
- where:
- $.paths
@@ -164,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.
@@ -209,11 +215,11 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.Network/stable/2019-05-01/frontdoor.json
- - $(this-folder)/Microsoft.Network/stable/2019-05-01/network.json
- - $(this-folder)/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
- $(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
- $(this-folder)/Microsoft.Network/stable/2019-04-01/network.json
diff --git a/specification/frontdoor/resource-manager/readme.typescript.md b/specification/frontdoor/resource-manager/readme.typescript.md
index fd86181fb8f2..90f985069362 100644
--- a/specification/frontdoor/resource-manager/readme.typescript.md
+++ b/specification/frontdoor/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-frontdoor"
output-folder: "$(typescript-sdks-folder)/sdk/frontdoor/arm-frontdoor"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json
index 7bdf25752c82..cc15e823b4fd 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json
@@ -150,6 +150,142 @@
},
"provisioningState": "Succeeded"
}
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance5",
+ "name": "myHanaInstance5",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "hwRevision": "Rev 3",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S112"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.103"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.203"
+ },
+ "osProfile": {
+ "computerName": "myComputerName5",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance6",
+ "name": "myHanaInstance6",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "hwRevision": "Rev 4",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S224oo"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.103"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.203"
+ },
+ "osProfile": {
+ "computerName": "myComputerName6",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance7",
+ "name": "myHanaInstance7",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "hwRevision": "Rev 4",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S224oom"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.103"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.203"
+ },
+ "osProfile": {
+ "computerName": "myComputerName7",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance8",
+ "name": "myHanaInstance8",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "hwRevision": "Rev 4",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S224ooo"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.103"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.203"
+ },
+ "osProfile": {
+ "computerName": "myComputerName8",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
}
]
}
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/SapMonitors_Create.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/SapMonitors_Create.json
index 10f8de0e3941..918037c7ab20 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/SapMonitors_Create.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/SapMonitors_Create.json
@@ -21,6 +21,10 @@
"hanaDbPassword": "",
"HanaDbPasswordKeyVaultURL": "",
"HanaDbCredentialsMsiID": "",
+ "enableCustomerAnalytics": true,
+ "logAnalyticsWorkspaceArmID": "",
+ "logAnalyticsWorkspaceID": "",
+ "logAnalyticsWorkspaceSharedKey": "",
"provisioningState": "Succeeded"
}
}
@@ -43,6 +47,8 @@
"hanaDbUsername": "",
"hanaDbPasswordKeyVaultUrl": "",
"hanaDbCredentialsMsiId": "",
+ "enableCustomerAnalytics": true,
+ "logAnalyticsWorkspaceArmId": "",
"provisioningState": "Succeeded"
}
}
@@ -64,6 +70,8 @@
"hanaDbUsername": "",
"hanaDbPasswordKeyVaultUrl": "",
"hanaDbCredentialsMsiId": "",
+ "enableCustomerAnalytics": true,
+ "logAnalyticsWorkspaceArmId": "",
"provisioningState": "Accepted"
}
}
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
index 262f7e50271a..df1eeb0cceec 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
@@ -882,6 +882,15 @@
"S192m",
"S192xm",
"S96",
+ "S112",
+ "S224m",
+ "S224o",
+ "S224om",
+ "S224oo",
+ "S224oom",
+ "S224ooo",
+ "S224oxm",
+ "S224oxxm",
"S384",
"S384m",
"S384xm",
@@ -891,12 +900,7 @@
"S768",
"S768m",
"S768xm",
- "S960m",
- "S224o",
- "S224m",
- "S224om",
- "S224oxm",
- "S224oxxm"
+ "S960m"
],
"x-ms-enum": {
"name": "HanaInstanceSizeNamesEnum",
@@ -1202,9 +1206,20 @@
"description": "The name of the resource group the SAP Monitor resources get deployed into."
},
"logAnalyticsWorkspaceArmId": {
- "readOnly": true,
"type": "string",
"description": "The ARM ID of the Log Analytics Workspace that is used for monitoring"
+ },
+ "enableCustomerAnalytics": {
+ "type": "boolean",
+ "description": "The value indicating whether to send analytics to Microsoft"
+ },
+ "logAnalyticsWorkspaceId": {
+ "type": "string",
+ "description": "The workspace ID of the log analytics workspace to be used for monitoring"
+ },
+ "logAnalyticsWorkspaceSharedKey": {
+ "type": "string",
+ "description": "The shared key of the log analytics workspace that is used for monitoring"
}
},
"description": "Describes the properties of a SAP monitor."
diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md
index 8149f71f2662..2faae789bcf4 100644
--- a/specification/hanaonazure/resource-manager/readme.md
+++ b/specification/hanaonazure/resource-manager/readme.md
@@ -92,7 +92,7 @@ Please also specify `--azure-libraries-for-java= see https://aka.ms/autorest
+
+This is the AutoRest configuration file for HybridCompute RP.
+
+
+
+---
+## Getting Started
+To build the SDK for HybridCompute, 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 HybridCompute API.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-08
+```
+
+### 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.HybridCompute/preview/2019-03-18/HybridCompute.json
+```
+
+### 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.HybridCompute/preview/2019-08-02/HybridCompute.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-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+```
+
+---
+## 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.HybridCompute
+ output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated
+ clear-output-folder: true
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+ - MachineExtensions_CreateOrUpdate
+ - MachineExtensions_Update
+ - MachineExtensions_Delete
+ - MachineExtensions_Get
+ - MachineExtensions_List
+```
+
+## PowerShell
+
+``` yaml $(powershell)
+powershell:
+ namespace: Microsoft.Azure.Management.HybridCompute
+ output-folder: generated
+ clear-output-folder: true
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+ - MachineExtensions_CreateOrUpdate
+ - MachineExtensions_Update
+ - MachineExtensions_Delete
+ - MachineExtensions_Get
+ - MachineExtensions_List
+```
+
+
+## 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.hybridcompute
+ package-name: azure-mgmt-hybridcompute
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+ - MachineExtensions_CreateOrUpdate
+ - MachineExtensions_Update
+ - MachineExtensions_Delete
+ - MachineExtensions_Get
+ - MachineExtensions_List
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+ - MachineExtensions_CreateOrUpdate
+ - MachineExtensions_Update
+ - MachineExtensions_Delete
+ - MachineExtensions_Get
+ - MachineExtensions_List
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: hybridcompute
+```
+
+
+### 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/preview/hybridcompute/mgmt/2019-03-18-preview/hybridcompute
+```
+
+## 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.hybridcompute
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute
+```
+
+### 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=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.hybridcompute.v2019_03_18
+ output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_03_18
+
+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.HybridCompute/preview/2019-03-18/HybridCompute.json
+ - $(this-folder)/Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.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/hybriddatamanager/resource-manager/readme.typescript.md b/specification/hybriddatamanager/resource-manager/readme.typescript.md
index 9d452fda0cdb..184b48a41079 100644
--- a/specification/hybriddatamanager/resource-manager/readme.typescript.md
+++ b/specification/hybriddatamanager/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-hybriddatamanager"
output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-hybriddatamanager"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplate.json
index 4755b18654e1..6cb62e8ef470 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplate.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplate.json
@@ -32,7 +32,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
@@ -65,7 +68,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
@@ -97,7 +103,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
}
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplateWithUserAssignedIdentity.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplateWithUserAssignedIdentity.json
index 6a62e9eaa9eb..5015ad8b20d7 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplateWithUserAssignedIdentity.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/CreateImageTemplateWithUserAssignedIdentity.json
@@ -38,7 +38,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
@@ -80,7 +83,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
@@ -121,7 +127,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
}
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/GetImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/GetImageTemplate.json
index 2922845adcc2..dd5af1e41898 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/GetImageTemplate.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/GetImageTemplate.json
@@ -35,7 +35,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
}
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplates.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplates.json
index a8ef6e29e60b..01be4b59b4bb 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplates.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplates.json
@@ -35,7 +35,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
},
{
@@ -68,7 +71,10 @@
"stage": "development"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D8s_v3"
+ }
}
}
],
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplatesByRg.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplatesByRg.json
index b68152ea6325..3a893044eadb 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplatesByRg.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/ListImageTemplatesByRg.json
@@ -36,7 +36,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
},
{
@@ -69,17 +72,17 @@
{
"type": "SharedImage",
"galleryImageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/gallery/baseimages/images/baseimage",
- "replicationRegions": [
- "eastus",
- "westus"
- ],
+ "replicationRegions":[ "eastus", "westus"],
"runOutputName": "gallery"
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D8s_v3"
+ }
}
}
],
- "nextLink": "/subscriptions/{subscription-id}/resourceGroup/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates?api-version=2018-02-01-preview&skip-token=2"
+ "nextLink": "/subscriptions/{subscription-id}/resourceGroup/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates?api-version=2019-05-01-preview&skip-token=2"
}
}
}
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateTags.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateTags.json
index f2fdecea60dd..da38da9ac3b7 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateTags.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateTags.json
@@ -43,7 +43,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateToRemoveIdentities.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateToRemoveIdentities.json
index 8aac53df36d2..9379aba70289 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateToRemoveIdentities.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/examples/UpdateImageTemplateToRemoveIdentities.json
@@ -46,7 +46,10 @@
"tagName": "value"
}
}
- ]
+ ],
+ "vmProfile": {
+ "vmSize": "Standard_D2s_v3"
+ }
}
}
},
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json
index 37c68407ed42..01268f2d825f 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json
@@ -495,8 +495,10 @@
},
"definitions": {
"ImageTemplateListResult": {
+ "description": "The result of List image templates operation",
"properties": {
"value": {
+ "description": "An array of image templates",
"type": "array",
"items": {
"$ref": "#/definitions/ImageTemplate"
@@ -509,6 +511,7 @@
}
},
"ImageTemplateSource": {
+ "description": "Describes a virtual machine image source for building, customizing and distributing",
"discriminator": "type",
"properties": {
"type": {
@@ -607,6 +610,7 @@
]
},
"ImageTemplateCustomizer": {
+ "description": "Describes a unit of image customization",
"discriminator": "type",
"properties": {
"type": {
@@ -635,6 +639,10 @@
"type": "string",
"description": "URI of the shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc"
},
+ "sha256Checksum": {
+ "type": "string",
+ "description": "SHA256 checksum of the shell script provided in the scriptUri field"
+ },
"inline": {
"type": "array",
"description": "Array of shell commands to execute",
@@ -680,6 +688,10 @@
"type": "string",
"description": "URI of the PowerShell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc"
},
+ "sha256Checksum": {
+ "type": "string",
+ "description": "SHA256 checksum of the power shell script provided in the scriptUri field above"
+ },
"inline": {
"type": "array",
"description": "Array of PowerShell commands to execute",
@@ -687,6 +699,10 @@
"type": "string"
}
},
+ "runElevated": {
+ "type": "boolean",
+ "description": "If specified, the PowerShell script will be run with elevated privileges"
+ },
"validExitCodes": {
"type": "array",
"description": "Valid exit codes for the PowerShell script. [Default: 0]",
@@ -709,6 +725,10 @@
"type": "string",
"description": "The URI of the file to be uploaded for customizing the VM. It can be a github link, SAS URI for Azure Storage, etc"
},
+ "sha256Checksum": {
+ "type": "string",
+ "description": "SHA256 checksum of the file provided in the sourceUri field above"
+ },
"destination": {
"type": "string",
"description": "The absolute path to a file (with nested directory structures already created) where the file (from sourceUri) will be uploaded to in the VM"
@@ -781,6 +801,7 @@
"description": "Resource Id of the Shared Image Gallery image"
},
"replicationRegions": {
+ "description": "A list of regions that the image will be replicated to",
"type": "array",
"items": {
"type": "string"
@@ -802,6 +823,15 @@
}
]
},
+ "ImageTemplateVmProfile": {
+ "description": "Describes the virtual machine used to build, customize and capture images",
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2)."
+ }
+ }
+ },
"ProvisioningState": {
"type": "string",
"enum": [
@@ -811,9 +841,14 @@
"Failed",
"Deleting"
],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ },
"description": "Provisioning state of the resource"
},
"ProvisioningError": {
+ "description": "Describes the error happened when create or update an image template",
"properties": {
"provisioningErrorCode": {
"type": "string",
@@ -831,6 +866,10 @@
"ServerError",
"Other"
],
+ "x-ms-enum": {
+ "name": "ProvisioningErrorCode",
+ "modelAsString": true
+ },
"description": "Error code of the provisioning failure"
},
"message": {
@@ -840,6 +879,7 @@
}
},
"ImageTemplateLastRunStatus": {
+ "description": "Describes the latest status of running an image template",
"properties": {
"startTime": {
"type": "string",
@@ -859,6 +899,10 @@
"PartiallySucceeded",
"Failed"
],
+ "x-ms-enum": {
+ "name": "RunState",
+ "modelAsString": false
+ },
"description": "State of the last run"
},
"runSubState": {
@@ -869,6 +913,10 @@
"Customizing",
"Distributing"
],
+ "x-ms-enum": {
+ "name": "RunSubState",
+ "modelAsString": false
+ },
"description": "Sub-state of the last run"
},
"message": {
@@ -878,6 +926,7 @@
}
},
"ImageTemplateProperties": {
+ "description": "Describes the properties of an image template",
"properties": {
"source": {
"$ref": "#/definitions/ImageTemplateSource",
@@ -916,7 +965,11 @@
"type": "integer",
"minimum": 0,
"maximum": 960,
- "description": "Maximum duration to wait while building the image template. Omit or specify 0 to use the default (60 minutes)."
+ "description": "Maximum duration to wait while building the image template. Omit or specify 0 to use the default (4 hours)."
+ },
+ "vmProfile": {
+ "$ref": "#/definitions/ImageTemplateVmProfile",
+ "description": "Describes how virtual machine is set up to build images"
}
},
"required": [
@@ -961,6 +1014,7 @@
"description": "Identity for the image template."
},
"RunOutputProperties": {
+ "description": "Describes the properties of a run output",
"properties": {
"artifactId": {
"type": "string",
@@ -978,10 +1032,12 @@
}
},
"ImageTemplate": {
+ "description": "Image template is an ARM resource managed by Microsoft.VirtualMachineImages provider",
"properties": {
"properties": {
"x-ms-client-flatten": true,
- "$ref": "#/definitions/ImageTemplateProperties"
+ "$ref": "#/definitions/ImageTemplateProperties",
+ "description": "The properties of the image template"
},
"identity": {
"$ref": "#/definitions/ImageTemplateIdentity",
@@ -1020,13 +1076,16 @@
"properties": {
"properties": {
"$ref": "#/definitions/RunOutputProperties",
- "x-ms-client-flatten": true
+ "x-ms-client-flatten": true,
+ "description": "The properties of the run output"
}
}
},
"RunOutputCollection": {
+ "description": "The result of List run outputs operation",
"properties": {
"value": {
+ "description": "An array of run outputs",
"type": "array",
"items": {
"$ref": "#/definitions/RunOutput"
diff --git a/specification/imagebuilder/resource-manager/readme.cli.md b/specification/imagebuilder/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..d6dbd9dec1dd
--- /dev/null
+++ b/specification/imagebuilder/resource-manager/readme.cli.md
@@ -0,0 +1,21 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ namespace: azure.mgmt.imagebuilder
+ flatten-all: true
+ test-scenario:
+ - name: Create an Image Template.
+ - name: Create an Image Template with a user assigned identity configured
+ - name: Retrieve single runOutput
+ - name: Retrieve a list of all outputs created by the last run of an Image Template
+ - name: Retrieve an Image Template.
+ - name: List images by resource group
+ - name: List images by subscription.
+ - name: Create image(s) from existing imageTemplate.
+ - name: Remove identities for an Image Template.
+ - name: Update the tags for an Image Template.
+ - name: Delete an Image Template.
+```
diff --git a/specification/imagebuilder/resource-manager/readme.md b/specification/imagebuilder/resource-manager/readme.md
index f1245d08ca93..6bf671ebfe8e 100644
--- a/specification/imagebuilder/resource-manager/readme.md
+++ b/specification/imagebuilder/resource-manager/readme.md
@@ -90,7 +90,7 @@ python:
namespace: azure.mgmt.imagebuilder
package-name: azure-mgmt-imagebuilder
clear-output-folder: true
- package-version: 0.2.1
+ package-version: 0.3.0
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -138,7 +138,7 @@ Please also specify `--azure-libraries-for-java=.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.imds
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-imds
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -258,6 +297,11 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -280,6 +324,7 @@ input-file:
- $(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
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
```
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json
new file mode 100644
index 000000000000..5d6311ea78f5
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json
@@ -0,0 +1,26 @@
+{
+ "title": "Get API tokens in your application",
+ "description": "Get a list of API tokens in your application.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "token_id": "testtoken",
+ "body": {
+ "roles": [
+ "c7be2c6b-797e-4551-bb24-33709f6b2e20"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "testtoken",
+ "roles": [
+ "ca310b8d-2f4a-44e0-a36e-957c202cd8d4"
+ ],
+ "expiry": "2020-10-18T18:30:40.227Z",
+ "token": "SharedAccessSignature sr=..."
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_delete.json
new file mode 100644
index 000000000000..78190211de15
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_delete.json
@@ -0,0 +1,12 @@
+{
+ "title": "Delete API token",
+ "description": "Delete an API token using its name.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "token_id": "testtoken"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json
new file mode 100644
index 000000000000..007cec68ff29
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json
@@ -0,0 +1,20 @@
+{
+ "title": "Get API tokens in your application",
+ "description": "Get a list of API tokens in your application.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "token_id": "testtoken"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "testtoken",
+ "roles": [
+ "ca310b8d-2f4a-44e0-a36e-957c202cd8d4"
+ ],
+ "expiry": "2020-10-18T18:30:40.227Z"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json
new file mode 100644
index 000000000000..f7a1c35aeeda
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json
@@ -0,0 +1,23 @@
+{
+ "title": "List API tokens in your application",
+ "description": "Get a list of API tokens in your application.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testtoken",
+ "roles": [
+ "ca310b8d-2f4a-44e0-a36e-957c202cd8d4"
+ ],
+ "expiry": "2020-10-18T18:30:40.227Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json
new file mode 100644
index 000000000000..92cead192a9b
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json
@@ -0,0 +1,19 @@
+{
+ "title": "Get an application by Id",
+ "description": "Get an application by Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "application_id": "194e282c-290a-4858-b68f-4274690697fc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "194e282c-290a-4858-b68f-4274690697fc",
+ "displayName": "x - Store Analytics Checkout - PnP",
+ "subdomain": "store-analytics-checkout---pnp",
+ "host": "store-analytics-checkout---pnp.azureiotcentral.com"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json
new file mode 100644
index 000000000000..f32e2b04e93d
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json
@@ -0,0 +1,28 @@
+{
+ "title": "List applications",
+ "description": "List applications that are accessible to the signed-in user.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "194e282c-290a-4858-b68f-4274690697fc",
+ "displayName": "x - Store Analytics Checkout - PnP",
+ "subdomain": "store-analytics-checkout---pnp",
+ "host": "store-analytics-checkout---pnp.azureiotcentral.com"
+ },
+ {
+ "id": "ca517ec7-234e-4cbb-9d83-424f8a1d1809",
+ "displayName": "Custom 2gskl57ibaw",
+ "subdomain": "contoso",
+ "host": "contoso.azureiotcentral.com"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_delete.json
new file mode 100644
index 000000000000..674e479c2717
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_delete.json
@@ -0,0 +1,12 @@
+{
+ "title": "Delete export",
+ "description": "Delete an export using its Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "export_id": "abc"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_get.json
new file mode 100644
index 000000000000..1d89e06bbfee
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_get.json
@@ -0,0 +1,30 @@
+{
+ "title": "Get export",
+ "description": "Get an export using its Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "export_id": "16cad42a-bd47-4684-b106-9f9b4d2d02e9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "16cad42a-bd47-4684-b106-9f9b4d2d02e9",
+ "etag": "076f201d-e9c3-4bef-af0a-608420ba4526",
+ "displayName": "Export to Storage 1",
+ "endpoint": {
+ "type": "StorageEndpoint",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=jeffscratchppe;AccountKey=*****;EndpointSuffix=core.windows.net",
+ "name": "cde"
+ },
+ "status": "running",
+ "enabled": true,
+ "sources": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_list.json
new file mode 100644
index 000000000000..4d2123433746
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_list.json
@@ -0,0 +1,50 @@
+{
+ "title": "List exports",
+ "description": "Get a list of all exports in your application",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "16cad42a-bd47-4684-b106-9f9b4d2d02e9",
+ "etag": "076f201d-e9c3-4bef-af0a-608420ba4526",
+ "displayName": "Export to Storage 1",
+ "endpoint": {
+ "type": "StorageEndpoint",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=jeffscratchppe;AccountKey=*****;EndpointSuffix=core.windows.net",
+ "name": "cde"
+ },
+ "status": "starting",
+ "enabled": true,
+ "sources": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ },
+ {
+ "id": "9dce0282-751d-4121-aed3-b316d658f17a",
+ "etag": "3398c6b5-de40-44ad-bf4a-0c216e2b4d88",
+ "displayName": "Export to Event Hubs 1",
+ "endpoint": {
+ "type": "EventHubsEndpoint",
+ "connectionString": "Endpoint=sb://roommonitoring.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****",
+ "name": "roommonitoring-ehout"
+ },
+ "status": "stopping",
+ "enabled": false,
+ "sources": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_set.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_set.json
new file mode 100644
index 000000000000..5f2e51d29e79
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/continuousdataexports_set.json
@@ -0,0 +1,44 @@
+{
+ "title": "Create or update export",
+ "description": "Create a new export or update an existing export, specifying its Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "export_id": "abc",
+ "body": {
+ "displayName": "Export to Storage 2",
+ "endpoint": {
+ "type": "StorageEndpoint",
+ "connectionString": "{Connection-string-to-blob-storage}",
+ "name": "container"
+ },
+ "enabled": true,
+ "sources": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "abc",
+ "etag": "7e02c03e-25cb-4d1c-9f6b-019506283872",
+ "displayName": "Export to Storage 2",
+ "endpoint": {
+ "type": "StorageEndpoint",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=contosoiotcstorage;AccountKey=*****;EndpointSuffix=core.windows.net",
+ "name": "container"
+ },
+ "status": "starting",
+ "enabled": true,
+ "sources": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json
new file mode 100644
index 000000000000..e1112eba7214
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json
@@ -0,0 +1,20 @@
+{
+ "title": "Get device credentials",
+ "description": "Get the device credentials of a created device. Returns the app's scope Id and device SAS key",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "Checkout4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scopeId": "0ne0005F266",
+ "symmetricKey": {
+ "primaryKey": "XaMfV3vryCQw963L2IALf1SdApQRzSIBQd13/fassqM=",
+ "secondaryKey": "s+4uT31TRZJcTSGxZUPZb1yznjTicu4jr9tXNrg+xIQ="
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_get.json
new file mode 100644
index 000000000000..f03df9f12d41
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_get.json
@@ -0,0 +1,16 @@
+{
+ "title": "Get cloud property values of a device",
+ "description": "Get the current values of all cloud properties of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "AssetID": "123abc"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_update.json
new file mode 100644
index 000000000000..e75d524a229a
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_cloudproperties_update.json
@@ -0,0 +1,19 @@
+{
+ "title": "Update cloud properties of a device",
+ "description": "Update cloud properties of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "body": {
+ "AssetID": "123abc"
+ },
+ "device_id": "mx1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "AssetID": "123abc"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commands_send.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commands_send.json
new file mode 100644
index 000000000000..30149234a336
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commands_send.json
@@ -0,0 +1,21 @@
+{
+ "title": "Send command",
+ "description": "Send a command to a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "component_name": "Thermostat_1o",
+ "command_name": "CoolDown",
+ "body": {
+ "request": {
+ "tempVal": 30
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commandshistory_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commandshistory_get.json
new file mode 100644
index 000000000000..bbb59154724e
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_commandshistory_get.json
@@ -0,0 +1,25 @@
+{
+ "title": "Get command history",
+ "description": "Get the most recent invocation of a command of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "component_name": "Thermostat_1o",
+ "command_name": "CoolDown"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "request": 20,
+ "id": "4e17dd2e-7bf2-458d-8466-19bc6fc9b642",
+ "response": 58.795679629034694,
+ "responseCode": 200
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_create.json
new file mode 100644
index 000000000000..2fd30c35203e
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_create.json
@@ -0,0 +1,28 @@
+{
+ "title": "Create a device",
+ "description": "Create a device with an Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "ccc",
+ "body": {
+ "displayName": "CheckoutThermostatccc",
+ "instanceOf": "urn:kmwga2re7:modelDefinition:t_cj5wspyv",
+ "simulated": true,
+ "approved": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ccc",
+ "etag": "eyJoZWFkZXIiOiJcIjE1MDE2ZDFiLTAwMDAtMGQwMC0wMDAwLTVkYWNkNDIxMDAwMFwiIiwiZGF0YSI6IlwiMTUwMTZhMWItMDAwMC0wZDAwLTAwMDAtNWRhY2Q0MjEwMDAwXCIifQ",
+ "displayName": "CheckoutThermostatccc",
+ "instanceOf": "urn:kmwga2re7:modelDefinition:t_cj5wspyv",
+ "simulated": true,
+ "provisioned": false,
+ "approved": true
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_delete.json
new file mode 100644
index 000000000000..a8efca557065
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_delete.json
@@ -0,0 +1,12 @@
+{
+ "title": "Delete device",
+ "description": "Delete a device by Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "ccc"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_get.json
new file mode 100644
index 000000000000..307bf6302de6
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_get.json
@@ -0,0 +1,22 @@
+{
+ "title": "Get a device by Id",
+ "description": "Get a device by Id",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "CheckoutThermostat"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "CheckoutThermostat",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4YzMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4YjdhMDAwMFwiIn0",
+ "displayName": "CheckoutThermostat",
+ "instanceOf": "urn:kmwga2re7:modelDefinition:t_cj5wspyv",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list.json
new file mode 100644
index 000000000000..6cb346158125
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list.json
@@ -0,0 +1,52 @@
+{
+ "title": "List devices",
+ "description": "List all devices in your application.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "CheckoutThermostat",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4YzMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4YjdhMDAwMFwiIn0",
+ "displayName": "CheckoutThermostat",
+ "instanceOf": "urn:kmwga2re7:modelDefinition:t_cj5wspyv",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ },
+ {
+ "id": "Checkout1",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4ZDMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout1",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ },
+ {
+ "id": "Checkout2",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA5MDMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout2",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ },
+ {
+ "id": "Checkout3",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4ZTMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout3",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list_by_template.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list_by_template.json
new file mode 100644
index 000000000000..c2498a1d4982
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_list_by_template.json
@@ -0,0 +1,44 @@
+{
+ "title": "List devices associated to a device template.",
+ "description": "List all devices associated to a device template.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_template_id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "Checkout1",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4ZDMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout1",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ },
+ {
+ "id": "Checkout2",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA5MDMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout2",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ },
+ {
+ "id": "Checkout3",
+ "etag": "eyJoZWFkZXIiOiJcIjAyMDA4ZTMyLTAwMDAtMGQwMC0wMDAwLTVkOTY4Yjg3MDAwMFwiIn0",
+ "displayName": "Checkout3",
+ "instanceOf": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "simulated": true,
+ "provisioned": true,
+ "approved": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_get.json
new file mode 100644
index 000000000000..de738d998e98
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_get.json
@@ -0,0 +1,54 @@
+{
+ "title": "Get device properties in component",
+ "description": "Get the read-write property values within a component of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "component_name": "settings"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "fanSpeed": 35,
+ "voltage": 5,
+ "current": 2,
+ "irSwitch": true,
+ "$metadata": {
+ "fanSpeed": {
+ "desiredValue": 35,
+ "ackDesiredState": {
+ "code": 200,
+ "version": 2,
+ "description": "Processed"
+ }
+ },
+ "voltage": {
+ "desiredValue": 5,
+ "ackDesiredState": {
+ "code": 200,
+ "version": 2,
+ "description": "Processed"
+ }
+ },
+ "current": {
+ "desiredValue": 2,
+ "ackDesiredState": {
+ "code": 200,
+ "version": 2,
+ "description": "Processed"
+ }
+ },
+ "irSwitch": {
+ "desiredValue": true,
+ "ackDesiredState": {
+ "code": 200,
+ "version": 2,
+ "description": "Processed"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_set.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_set.json
new file mode 100644
index 000000000000..0e896f75fbe7
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_components_set.json
@@ -0,0 +1,36 @@
+{
+ "title": "Set device properties in component",
+ "description": "Set the read-write property values within a component of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "component_name": "settings",
+ "body": {
+ "fanSpeed": 35,
+ "voltage": 5,
+ "current": 2,
+ "irSwitch": true
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "$metadata": {
+ "fanSpeed": {
+ "desiredValue": 35
+ },
+ "voltage": {
+ "desiredValue": 5
+ },
+ "current": {
+ "desiredValue": 2
+ },
+ "irSwitch": {
+ "desiredValue": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json
new file mode 100644
index 000000000000..45baf0130156
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json
@@ -0,0 +1,25 @@
+{
+ "title": "Get device properties",
+ "description": "Get the current values of all device properties.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "deviceinfo": {
+ "manufacturer": "manufacturer",
+ "model": "model",
+ "swVersion": "swVersion",
+ "osName": "osName",
+ "processorArchitecture": "processorArchitecture",
+ "processorManufacturer": "processorManufacturer",
+ "totalStorage": 41,
+ "totalMemory": 49
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json
new file mode 100644
index 000000000000..d8c1316a830f
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json
@@ -0,0 +1,37 @@
+{
+ "title": "Update device properties",
+ "description": "Update the values of read-write properties of a device",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "body": {
+ "device_info": {
+ "manufacturer": "manufacturer",
+ "model": "model",
+ "swVersion": "swVersion",
+ "osName": "osName",
+ "processorArchitecture": "processorArchitecture",
+ "processorManufacturer": "processorManufacturer",
+ "totalStorage": 24,
+ "totalMemory": 18
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "deviceinfo": {
+ "manufacturer": "TODO",
+ "model": "model",
+ "swVersion": "swVersion",
+ "osName": "osName",
+ "processorArchitecture": "processorArchitecture",
+ "processorManufacturer": "processorManufacturer",
+ "totalStorage": 41,
+ "totalMemory": 49
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_telemetry_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_telemetry_get.json
new file mode 100644
index 000000000000..09f0791c48af
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_telemetry_get.json
@@ -0,0 +1,18 @@
+{
+ "title": "Get telemetry",
+ "description": "Get the last known value of a telemetry stream of a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "component_name": "sensors",
+ "telemetry_name": "temperature"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": 32
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json
new file mode 100644
index 000000000000..a5ca1e93dfa9
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json
@@ -0,0 +1,250 @@
+{
+ "title": "Create a device template",
+ "description": "Creates and publishes a device template. In the body, specify the full device template object.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_template_id": "environmentstemplateid",
+ "body": {
+ "types": [
+ "DeviceModel"
+ ],
+ "displayName": "Environment sensor 1",
+ "capabilityModel": {
+ "@id": "urn:storeAnalyticsCheckoutPnp:capabilityModel:1",
+ "@type": [
+ "CapabilityModel"
+ ],
+ "implements": [
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:capabilityModel:fyy5xn_y:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "displayName": "Interface",
+ "name": "Interface",
+ "schema": {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Interface",
+ "contents": [
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Temperature:1",
+ "@type": [
+ "Telemetry",
+ "SemanticType/Temperature"
+ ],
+ "displayName": "Temperature",
+ "name": "Temperature",
+ "schema": "double",
+ "unit": "Units/Temperature/celsius"
+ },
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Humidity:1",
+ "@type": [
+ "Telemetry",
+ "SemanticType/Humidity"
+ ],
+ "displayName": "Humidity",
+ "name": "Humidity",
+ "schema": "double",
+ "unit": "Units/Humidity/percent"
+ },
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "displayName": "Occupancy",
+ "name": "Occupancy",
+ "schema": "double"
+ }
+ ]
+ }
+ }
+ ],
+ "displayName": "Motion detector",
+ "contents": [],
+ "@context": [
+ "http://azureiot.com/v1/contexts/IoTModel.json"
+ ]
+ },
+ "solutionModel": {
+ "@id": "urn:1dsfbt7i:modelDefinition:zadjfmgvh",
+ "@type": [
+ "SolutionModel"
+ ],
+ "cloudProperties": [
+ {
+ "@id": "urn:1dsfbt7i:modelDefinition:AssetId",
+ "@type": [
+ "CloudProperty"
+ ],
+ "displayName": "Asset Id",
+ "name": "AssetId",
+ "schema": "string",
+ "valueDetail": {
+ "@id": "urn:1dsfbt7i:modelDefinition:AssetId:valueDetail",
+ "@type": [
+ "ValueDetail/StringValueDetail"
+ ]
+ }
+ }
+ ],
+ "initialValues": [],
+ "overrides": [
+ {
+ "@id": "urn:1dsfbt7i:modelDefinition:1qehkys5",
+ "@type": [
+ "Override"
+ ],
+ "capability": {
+ "@type": [
+ "CapabilityReference"
+ ],
+ "component": "urn:storeAnalyticsCheckoutPnp:capabilityModel:fyy5xn_y:1",
+ "reference": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1"
+ },
+ "valueDetail": {
+ "@type": [
+ "ValueDetail/NumberValueDetail"
+ ],
+ "maxValue": {
+ "@value": "50"
+ },
+ "minValue": {
+ "@value": "0"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "environmentstemplateid",
+ "types": [
+ "DeviceModel"
+ ],
+ "displayName": "Environment sensor 1",
+ "capabilityModel": {
+ "@id": "urn:storeAnalyticsCheckoutPnp:capabilityModel:1",
+ "@type": [
+ "CapabilityModel"
+ ],
+ "implements": [
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:capabilityModel:fyy5xn_y:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "displayName": "Interface",
+ "name": "Interface",
+ "schema": {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Interface",
+ "contents": [
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Temperature:1",
+ "@type": [
+ "Telemetry",
+ "SemanticType/Temperature"
+ ],
+ "displayName": "Temperature",
+ "name": "Temperature",
+ "schema": "double",
+ "unit": "Units/Temperature/celsius"
+ },
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Humidity:1",
+ "@type": [
+ "Telemetry",
+ "SemanticType/Humidity"
+ ],
+ "displayName": "Humidity",
+ "name": "Humidity",
+ "schema": "double",
+ "unit": "Units/Humidity/percent"
+ },
+ {
+ "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "displayName": "Occupancy",
+ "name": "Occupancy",
+ "schema": "double"
+ }
+ ]
+ }
+ }
+ ],
+ "displayName": "Motion detector",
+ "contents": [],
+ "@context": [
+ "http://azureiot.com/v1/contexts/IoTModel.json"
+ ]
+ },
+ "solutionModel": {
+ "@id": "urn:1dsfbt7i:modelDefinition:zadjfmgvh",
+ "@type": [
+ "SolutionModel"
+ ],
+ "cloudProperties": [
+ {
+ "@id": "urn:1dsfbt7i:modelDefinition:AssetId",
+ "@type": [
+ "CloudProperty"
+ ],
+ "displayName": "Asset Id",
+ "name": "AssetId",
+ "schema": "string",
+ "valueDetail": {
+ "@id": "urn:1dsfbt7i:modelDefinition:AssetId:valueDetail",
+ "@type": [
+ "ValueDetail/StringValueDetail"
+ ]
+ }
+ }
+ ],
+ "initialValues": [],
+ "overrides": [
+ {
+ "@id": "urn:1dsfbt7i:modelDefinition:1qehkys5",
+ "@type": [
+ "Override"
+ ],
+ "capability": {
+ "@id": "urn:1dsfbt7i:modelDefinition:1qehkys5:6wq2v5i7j",
+ "@type": [
+ "CapabilityReference"
+ ],
+ "component": "urn:storeAnalyticsCheckoutPnp:capabilityModel:fyy5xn_y:1",
+ "reference": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1"
+ },
+ "valueDetail": {
+ "@id": "urn:1dsfbt7i:modelDefinition:1qehkys5:_covclwk_",
+ "@type": [
+ "ValueDetail/NumberValueDetail"
+ ],
+ "maxValue": {
+ "@value": "50"
+ },
+ "minValue": {
+ "@value": "0"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_delete.json
new file mode 100644
index 000000000000..b5292bba5cc2
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_delete.json
@@ -0,0 +1,12 @@
+{
+ "title": "Delete a device template by Id",
+ "description": "Delete a published device template that has no devices currently associated to it. This operation does not operate on device templates in draft state.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_template_id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get.json
new file mode 100644
index 000000000000..71fc57c274dd
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get.json
@@ -0,0 +1,177 @@
+{
+ "title": "Get a device template by Id",
+ "description": "Get a published device template by Id. This operation does not return device templates in draft state.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_template_id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "types": [
+ "DeviceModel"
+ ],
+ "displayName": "RS40 Occupancy Sensor",
+ "capabilityModel": {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "CapabilityModel"
+ ],
+ "implements": [
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:Device_information_RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "Device_information_RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Device Information",
+ "contents": [
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:manufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso.",
+ "displayName": "Manufacturer",
+ "name": "manufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:model:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Device model name or ID. Ex. Surface Book 2.",
+ "displayName": "Device model",
+ "name": "model",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:swVersion:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45",
+ "displayName": "Software version",
+ "name": "swVersion",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:osName:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the operating system on the device. Ex. Windows 10 IoT Core.",
+ "displayName": "Operating system name",
+ "name": "osName",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorArchitecture:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Architecture of the processor on the device. Ex. x64 or ARM.",
+ "displayName": "Processor architecture",
+ "name": "processorArchitecture",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorManufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the manufacturer of the processor on the device. Ex. Intel.",
+ "displayName": "Processor manufacturer",
+ "name": "processorManufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalStorage:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes.",
+ "displayName": "Total storage",
+ "name": "totalStorage",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalMemory:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
+ "displayName": "Total memory",
+ "name": "totalMemory",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ }
+ ]
+ }
+ },
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Interface",
+ "contents": [
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:count:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "comment": "",
+ "description": "Count of motion events seen in the previous interval",
+ "displayName": "count",
+ "name": "count",
+ "schema": "integer"
+ },
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:state:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "description": "Occupancy State",
+ "displayName": "state",
+ "name": "state",
+ "schema": "boolean"
+ }
+ ]
+ }
+ }
+ ],
+ "displayName": "RS40 Occupancy Sensor",
+ "contents": [],
+ "@context": [
+ "http://azureiot.com/v1/contexts/IoTModel.json"
+ ]
+ },
+ "solutionModel": {
+ "@id": "urn:sbk9sd6sl:modelDefinition:rxyaituqzz",
+ "@type": [
+ "SolutionModel"
+ ],
+ "cloudProperties": [],
+ "initialValues": [],
+ "overrides": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get_merged.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get_merged.json
new file mode 100644
index 000000000000..bf54a3acbd8c
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_get_merged.json
@@ -0,0 +1,171 @@
+{
+ "title": "Get a merged device template by Id",
+ "description": "Get a single merged view of a device template by Id. The merged view of a device template contains the overrides and initial values from the solutionModel merged into the capabilityModel. This operation does not return device templates in draft state.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_template_id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "etag": "\"1800bfd5-0000-0d00-0000-5d96df080000\"",
+ "types": [
+ "DeviceModel"
+ ],
+ "displayName": "RS40 Occupancy Sensor",
+ "capabilityModel": {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "CapabilityModel"
+ ],
+ "implements": [
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:Device_information_RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "Device_information_RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Device Information",
+ "contents": [
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:manufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso.",
+ "displayName": "Manufacturer",
+ "name": "manufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:model:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Device model name or ID. Ex. Surface Book 2.",
+ "displayName": "Device model",
+ "name": "model",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:swVersion:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45",
+ "displayName": "Software version",
+ "name": "swVersion",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:osName:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the operating system on the device. Ex. Windows 10 IoT Core.",
+ "displayName": "Operating system name",
+ "name": "osName",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorArchitecture:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Architecture of the processor on the device. Ex. x64 or ARM.",
+ "displayName": "Processor architecture",
+ "name": "processorArchitecture",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorManufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the manufacturer of the processor on the device. Ex. Intel.",
+ "displayName": "Processor manufacturer",
+ "name": "processorManufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalStorage:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes.",
+ "displayName": "Total storage",
+ "name": "totalStorage",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalMemory:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
+ "displayName": "Total memory",
+ "name": "totalMemory",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ }
+ ]
+ }
+ },
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Interface",
+ "contents": [
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:count:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "comment": "",
+ "description": "Count of motion events seen in the previous interval",
+ "displayName": "count",
+ "name": "count",
+ "schema": "integer"
+ },
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:state:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "description": "Occupancy State",
+ "displayName": "state",
+ "name": "state",
+ "schema": "boolean"
+ }
+ ]
+ }
+ }
+ ],
+ "displayName": "RS40 Occupancy Sensor"
+ },
+ "solutionModel": {
+ "@id": "urn:sbk9sd6sl:modelDefinition:rxyaituqzz",
+ "@type": [
+ "SolutionModel"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_list.json
new file mode 100644
index 000000000000..d46b90aeb0f0
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_list.json
@@ -0,0 +1,180 @@
+{
+ "title": "List device templates",
+ "description": "List device templates that are currently published in the application. This operation does not return device templates in draft state.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "urn:sbk9sd6sl:modelDefinition:u3b_fwd7os",
+ "types": [
+ "DeviceModel"
+ ],
+ "displayName": "RS40 Occupancy Sensor",
+ "capabilityModel": {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "CapabilityModel"
+ ],
+ "implements": [
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:Device_information_RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "Device_information_RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Device Information",
+ "contents": [
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:manufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso.",
+ "displayName": "Manufacturer",
+ "name": "manufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:model:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Device model name or ID. Ex. Surface Book 2.",
+ "displayName": "Device model",
+ "name": "model",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:swVersion:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45",
+ "displayName": "Software version",
+ "name": "swVersion",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:osName:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the operating system on the device. Ex. Windows 10 IoT Core.",
+ "displayName": "Operating system name",
+ "name": "osName",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorArchitecture:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Architecture of the processor on the device. Ex. x64 or ARM.",
+ "displayName": "Processor architecture",
+ "name": "processorArchitecture",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorManufacturer:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Name of the manufacturer of the processor on the device. Ex. Intel.",
+ "displayName": "Processor manufacturer",
+ "name": "processorManufacturer",
+ "schema": "string"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalStorage:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes.",
+ "displayName": "Total storage",
+ "name": "totalStorage",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ },
+ {
+ "@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalMemory:1",
+ "@type": [
+ "Property"
+ ],
+ "description": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
+ "displayName": "Total memory",
+ "name": "totalMemory",
+ "displayUnit": "kilobytes",
+ "schema": "long"
+ }
+ ]
+ }
+ },
+ {
+ "@id": "urn:rigado:RS40_Occupancy_Sensor:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "InterfaceInstance"
+ ],
+ "name": "RS40_Occupancy_Sensor",
+ "schema": {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:1",
+ "@type": [
+ "Interface"
+ ],
+ "displayName": "Interface",
+ "contents": [
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:count:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "comment": "",
+ "description": "Count of motion events seen in the previous interval",
+ "displayName": "count",
+ "name": "count",
+ "schema": "integer"
+ },
+ {
+ "@id": "urn:rigado:interfaces:RS40_Occupancy_Sensor:state:1",
+ "@type": [
+ "Telemetry"
+ ],
+ "description": "Occupancy State",
+ "displayName": "state",
+ "name": "state",
+ "schema": "boolean"
+ }
+ ]
+ }
+ }
+ ],
+ "displayName": "RS40 Occupancy Sensor",
+ "contents": [],
+ "@context": [
+ "http://azureiot.com/v1/contexts/IoTModel.json"
+ ]
+ },
+ "solutionModel": {
+ "@id": "urn:sbk9sd6sl:modelDefinition:rxyaituqzz",
+ "@type": [
+ "SolutionModel"
+ ],
+ "cloudProperties": [],
+ "initialValues": [],
+ "overrides": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_get.json
new file mode 100644
index 000000000000..ab1730306d2f
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_get.json
@@ -0,0 +1,17 @@
+{
+ "title": "Get role by Id",
+ "description": "Get a role by Id.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "role_id": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4",
+ "displayName": "Administrator"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_list.json
new file mode 100644
index 000000000000..720e1720eeab
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/roles_list.json
@@ -0,0 +1,28 @@
+{
+ "title": "List roles",
+ "description": "List roles in your application.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4",
+ "displayName": "Administrator"
+ },
+ {
+ "id": "344138e9-8de4-4497-8c54-5237e96d6aaf",
+ "displayName": "Builder"
+ },
+ {
+ "id": "ae2c9854-393b-4f97-8c42-479d70ce626e",
+ "displayName": "Operator"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
new file mode 100644
index 000000000000..f7f799c7cd66
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
@@ -0,0 +1,1574 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "preview",
+ "title": "Azure IoT Central",
+ "description": "Azure IoT Central is a service that makes it easy to connect, monitor, and manage your IoT devices at scale."
+ },
+ "basePath": "/api/preview",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "definitions": {
+ "ApiToken": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Permission"
+ },
+ {
+ "properties": {
+ "id": {
+ "description": "Unique ID of the api token.",
+ "type": "string",
+ "readOnly": true
+ },
+ "token": {
+ "description": "Value of the api token.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "String-formatted date representing the time when the token expires",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ ]
+ },
+ "ApiTokenCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of api tokens.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Capability": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedEntity"
+ },
+ {
+ "properties": {
+ "name": {
+ "description": "The programmatic name of the named entity.",
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "additionalProperties": true
+ },
+ "Interface": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "contents": {
+ "description": "The data definitions contained by the interface.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "Component": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedEntity"
+ },
+ {
+ "properties": {
+ "schema": {
+ "description": "The interface used by this component.",
+ "$ref": "#/definitions/Interface"
+ }
+ }
+ }
+ ]
+ },
+ "CapabilityModel": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "implements": {
+ "description": "The component implemented by the capability model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Component"
+ }
+ },
+ "contents": {
+ "description": "The relationships contained by the capability model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NamedEntity"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "Endpoint": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the endpoint.",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "Information for connecting to the endpoint.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the entity to send data to.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "connectionString",
+ "name"
+ ],
+ "discriminator": "type"
+ },
+ "StorageEndpoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Endpoint"
+ }
+ ]
+ },
+ "EventHubsEndpoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Endpoint"
+ }
+ ]
+ },
+ "ServiceBusQueueEndpoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Endpoint"
+ }
+ ]
+ },
+ "ServiceBusTopicEndpoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Endpoint"
+ }
+ ]
+ },
+ "ContinuousDataExport": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the continuous data export.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "ETag used to prevent conflict in continuous data export updates.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the continuous data export.",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "Location where exported data should be sent.",
+ "$ref": "#/definitions/Endpoint"
+ },
+ "status": {
+ "description": "Indicates whether the continuous data export is starting, running, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "enabled": {
+ "description": "Boolean indicating whether the continuous data export should be running or not.",
+ "type": "boolean"
+ },
+ "sources": {
+ "description": "Data sources to export to the endpoint.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "devices",
+ "deviceTemplates",
+ "telemetry"
+ ]
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "endpoint",
+ "enabled",
+ "sources"
+ ]
+ },
+ "ContinuousDataExportCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of continuous data exports.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContinuousDataExport"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of continuous data exports.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Device": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "ETag used to prevent conflict in device updates.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the device.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Detailed description of the device.",
+ "type": "string"
+ },
+ "instanceOf": {
+ "description": "The model definition for the device.",
+ "type": "string"
+ },
+ "simulated": {
+ "description": "Whether the device is simulated.",
+ "type": "boolean"
+ },
+ "approved": {
+ "description": "Whether the device has been approved to connect to IoT Central.",
+ "type": "boolean"
+ },
+ "provisioned": {
+ "description": "Whether resources have been allocated for the device.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "instanceOf"
+ ]
+ },
+ "DeviceCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of devices.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Device"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of devices.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DeviceCommand": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The request ID of the device command execution.",
+ "type": "string",
+ "readOnly": true
+ },
+ "request": {
+ "description": "The payload for the device command."
+ },
+ "response": {
+ "description": "The payload of the device command response.",
+ "readOnly": true
+ },
+ "responseCode": {
+ "description": "The status code of the device command response.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "DeviceCommandCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of device command executions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceCommand"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DeviceCloudProperties": {
+ "description": "Cloud property values associated with the device.",
+ "type": "object",
+ "additionalProperties": true
+ },
+ "SymmetricKey": {
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "The primary key for the credential.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key for the credential.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "primaryKey",
+ "secondaryKey"
+ ]
+ },
+ "DeviceCredentials": {
+ "type": "object",
+ "properties": {
+ "scopeId": {
+ "description": "Scope id for connecting to device provisioning service.",
+ "type": "string"
+ },
+ "symmetricKey": {
+ "description": "The symmetric key credentials for the device.",
+ "$ref": "#/definitions/SymmetricKey"
+ }
+ },
+ "required": [
+ "scopeId",
+ "symmetricKey"
+ ]
+ },
+ "DeviceProperties": {
+ "description": "Property values associated with the device.",
+ "type": "object",
+ "additionalProperties": true
+ },
+ "DeviceTemplate": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the device template.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "ETag used to prevent conflict in device template updates.",
+ "type": "string"
+ },
+ "types": {
+ "description": "The types of device to which this template applies.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "displayName": {
+ "description": "Display name of the device template.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Detailed description of the device template.",
+ "type": "string"
+ },
+ "capabilityModel": {
+ "$ref": "#/definitions/CapabilityModel"
+ },
+ "solutionModel": {
+ "$ref": "#/definitions/SolutionModel"
+ }
+ },
+ "required": [
+ "types",
+ "capabilityModel"
+ ]
+ },
+ "DeviceTemplateCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of device templates.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceTemplate"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of device templates.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "@context": {
+ "description": "JSON-LD context for the entity."
+ },
+ "@id": {
+ "description": "Unique ID of the entity.",
+ "type": "string"
+ },
+ "@type": {
+ "description": "Type of the entity.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "displayName": {
+ "description": "Display name of the entity.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Detailed description of the entity.",
+ "type": "string"
+ },
+ "comment": {
+ "description": "Developer comment about the entity.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "@type"
+ ]
+ },
+ "NamedEntity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "name": {
+ "description": "The programmatic name of the named entity.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ ]
+ },
+ "Permission": {
+ "type": "object",
+ "properties": {
+ "roles": {
+ "description": "Roles that the permission has been granted permission to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
+ "required": [
+ "roles"
+ ]
+ },
+ "Value": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of this API response."
+ }
+ }
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the role.",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "Display name of the role.",
+ "type": "string"
+ }
+ }
+ },
+ "RoleCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of roles.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SolutionModel": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "cloudProperties": {
+ "description": "The cloud properties defined by the solution model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "initialValues": {
+ "description": "The initial values defined by the solution model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InitialValue"
+ }
+ },
+ "overrides": {
+ "description": "The overrides defined by the solution model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Override"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "InitialValue": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "capability": {
+ "$ref": "#/definitions/CapabilityReference"
+ },
+ "value": {
+ "description": "The initial value of the capability."
+ }
+ }
+ }
+ ]
+ },
+ "Override": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "capability": {
+ "$ref": "#/definitions/CapabilityReference"
+ },
+ "displayUnit": {
+ "description": "The overridden display unit.",
+ "type": "string"
+ },
+ "semanticType": {
+ "description": "The overridden semantic type.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "The overridden unit.",
+ "type": "string"
+ },
+ "valueDetail": {
+ "$ref": "#/definitions/ValueDetail"
+ }
+ }
+ }
+ ]
+ },
+ "ValueDetail": {
+ "description": "Visualization details for the referenced capability.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ }
+ ],
+ "additionalProperties": true
+ },
+ "CapabilityReference": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "properties": {
+ "component": {
+ "description": "The name of the component being referenced.",
+ "type": "string"
+ },
+ "reference": {
+ "description": "The name of the capability being referenced.",
+ "type": "string"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "paths": {
+ "/apiTokens": {
+ "get": {
+ "operationId": "ApiTokens_List",
+ "summary": "Get the list of API tokens in an application.",
+ "x-ms-examples": {
+ "List API tokens": {
+ "$ref": "./examples/apitoken_list.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApiTokenCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/apiTokens/{token_id}": {
+ "get": {
+ "operationId": "ApiTokens_Get",
+ "summary": "Get an API token by ID.",
+ "x-ms-examples": {
+ "Get API token by ID": {
+ "$ref": "./examples/apitoken_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "token_id",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ApiTokens_Set",
+ "summary": "Create a new API token in the application.",
+ "x-ms-examples": {
+ "Create API token": {
+ "$ref": "./examples/apitoken_create.json"
+ }
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "token_id",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "API token body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ApiTokens_Remove",
+ "summary": "Delete an API token.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "token_id",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Delete API token": {
+ "$ref": "./examples/apitoken_delete.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
+ "/devices": {
+ "get": {
+ "operationId": "Devices_List",
+ "summary": "Get the list of devices in an application",
+ "x-ms-examples": {
+ "List devices": {
+ "$ref": "./examples/devices_list.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/devices/{device_id}": {
+ "get": {
+ "operationId": "Devices_Get",
+ "summary": "Get a device by ID",
+ "description": "Get details about an existing device by device ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get device by Id": {
+ "$ref": "./examples/devices_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_Set",
+ "summary": "Create or update a device",
+ "description": "Create a new device or update an existing one by device ID.",
+ "x-ms-examples": {
+ "Create device": {
+ "$ref": "./examples/devices_create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Devices_Remove",
+ "summary": "Delete a device",
+ "description": "Delete an existing device by device ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "x-ms-examples": {
+ "Delete device": {
+ "$ref": "./examples/devices_delete.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
+ "/continuousDataExports": {
+ "get": {
+ "operationId": "ContinuousDataExports_List",
+ "summary": "Get the list of continuous data exports in an application.",
+ "x-ms-examples": {
+ "List exports": {
+ "$ref": "./examples/continuousdataexports_list.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ContinuousDataExportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/continuousDataExports/{export_id}": {
+ "get": {
+ "operationId": "ContinuousDataExports_Get",
+ "summary": "Get a continuous data export by ID.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "export_id",
+ "description": "Unique ID for the continuous data export.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Get export": {
+ "$ref": "./examples/continuousdataexports_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ContinuousDataExport"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ContinuousDataExports_Set",
+ "summary": "Create a new continuous data export or update an existing one by ID.",
+ "x-ms-examples": {
+ "Create or update export": {
+ "$ref": "./examples/continuousdataexports_set.json"
+ }
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "export_id",
+ "description": "Unique ID for the continuous data export.",
+ "type": "string",
+ "required": true
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Data export body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContinuousDataExport"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ContinuousDataExport"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ContinuousDataExports_Remove",
+ "summary": "Delete a continuous data export.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "export_id",
+ "description": "Unique ID for the continuous data export.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Delete export": {
+ "$ref": "./examples/continuousdataexports_delete.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
+ "/deviceTemplates": {
+ "get": {
+ "operationId": "DeviceTemplates_List",
+ "summary": "Get the list of device templates in an application",
+ "x-ms-examples": {
+ "List device templates": {
+ "$ref": "./examples/devicetemplates_list.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceTemplateCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/deviceTemplates/{device_template_id}": {
+ "get": {
+ "operationId": "DeviceTemplates_Get",
+ "summary": "Get a device template by ID",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceTemplateId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a device template by Id": {
+ "$ref": "./examples/devicetemplates_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceTemplate"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DeviceTemplates_Remove",
+ "summary": "Delete a device template",
+ "description": "Delete an existing device template by device ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceTemplateId"
+ }
+ ],
+ "x-ms-examples": {
+ "Delete a device template by Id": {
+ "$ref": "./examples/devicetemplates_delete.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ },
+ "put": {
+ "operationId": "DeviceTemplates_Set",
+ "summary": "Create or update a device template by ID",
+ "x-ms-examples": {
+ "Create a device template": {
+ "$ref": "./examples/devicetemplates_create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceTemplateId"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device template body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceTemplate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceTemplate"
+ }
+ }
+ }
+ }
+ },
+ "/deviceTemplates/{device_template_id}/merged": {
+ "get": {
+ "operationId": "DeviceTemplates_GetMerged",
+ "summary": "Get a merged device template by ID",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceTemplateId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a merged device template by Id": {
+ "$ref": "./examples/devicetemplates_get_merged.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceTemplate"
+ }
+ }
+ }
+ }
+ },
+ "/deviceTemplates/{device_template_id}/devices": {
+ "get": {
+ "operationId": "DeviceTemplates_ListDevices",
+ "summary": "Get devices for a template",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceTemplateId"
+ }
+ ],
+ "x-ms-examples": {
+ "List devices associated to a device template": {
+ "$ref": "./examples/devices_list_by_template.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/roles": {
+ "get": {
+ "operationId": "Roles_List",
+ "summary": "Get the list of roles in an application.",
+ "x-ms-examples": {
+ "List roles": {
+ "$ref": "./examples/roles_list.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/RoleCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/roles/{role_id}": {
+ "get": {
+ "operationId": "Roles_Get",
+ "summary": "Get a role by ID.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "role_id",
+ "description": "Unique ID for the role.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Get role by Id": {
+ "$ref": "./examples/roles_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/cloudProperties": {
+ "get": {
+ "operationId": "Devices_GetCloudProperties",
+ "summary": "Get device cloud properties",
+ "description": "Get all cloud property values of a device by device ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get cloud properties": {
+ "$ref": "./examples/devices_cloudproperties_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCloudProperties"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_UpdateCloudProperties",
+ "summary": "Update device cloud properties",
+ "description": "Update all cloud property values of a device by device ID.",
+ "x-ms-examples": {
+ "Update cloud properties": {
+ "$ref": "./examples/devices_cloudproperties_update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceCloudProperties"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCloudProperties"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/components/{component_name}/commands/{command_name}": {
+ "get": {
+ "operationId": "Devices_GetCommandHistory",
+ "summary": "Get device command history",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "in": "path",
+ "name": "command_name",
+ "description": "Name of this device command.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Get command history": {
+ "$ref": "./examples/devices_commandshistory_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCommandCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ },
+ "post": {
+ "operationId": "Devices_ExecuteCommand",
+ "summary": "Execute a device command",
+ "description": "Execute a command on a device.",
+ "x-ms-examples": {
+ "Send command": {
+ "$ref": "./examples/devices_commands_send.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "in": "path",
+ "name": "command_name",
+ "description": "Name of this device command.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device command body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceCommand"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCommand"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/properties": {
+ "get": {
+ "operationId": "Devices_GetProperties",
+ "summary": "Get device properties",
+ "description": "Get all property values of a device by device ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get properties": {
+ "$ref": "./examples/devices_properties_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_UpdateProperties",
+ "summary": "Update device properties",
+ "description": "Update all property values of a device by device ID.",
+ "x-ms-examples": {
+ "Update properties": {
+ "$ref": "./examples/devices_properties_update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/components/{component_name}/properties": {
+ "get": {
+ "operationId": "Devices_GetComponentProperties",
+ "summary": "Get device properties for a specific component",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ }
+ ],
+ "x-ms-examples": {
+ "Get properties on components": {
+ "$ref": "./examples/devices_properties_components_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_UpdateComponentProperties",
+ "summary": "Update device properties for a specific component",
+ "x-ms-examples": {
+ "Update properties on components": {
+ "$ref": "./examples/devices_properties_components_set.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/credentials": {
+ "get": {
+ "operationId": "Devices_GetCredentials",
+ "summary": "Get device credentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "x-ms-examples": {
+ "Get device credentials": {
+ "$ref": "./examples/devicecredentials_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCredentials"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/components/{component_name}/telemetry/{telemetry_name}": {
+ "get": {
+ "operationId": "Devices_GetTelemetryValue",
+ "summary": "Get device telemetry value",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "in": "path",
+ "name": "telemetry_name",
+ "description": "Name of this device telemetry.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "x-ms-examples": {
+ "Get telemetry": {
+ "$ref": "./examples/devices_telemetry_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Value"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "DeviceId": {
+ "in": "path",
+ "name": "device_id",
+ "description": "Unique ID of the device.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "ComponentName": {
+ "in": "path",
+ "name": "component_name",
+ "description": "Name of the device component.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "DeviceTemplateId": {
+ "in": "path",
+ "name": "device_template_id",
+ "description": "Unique ID of the device template.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "Subdomain": {
+ "in": "path",
+ "name": "subdomain",
+ "description": "Application subdomain.",
+ "x-ms-parameter-location": "client",
+ "type": "string",
+ "required": true
+ },
+ "CentralDnsSuffixInPath": {
+ "name": "centralDnsSuffixInPath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "default": "azureiotcentral.com",
+ "x-ms-skip-url-encoding": true,
+ "description": "The DNS suffix used as the base for all Azure IoT Central service requests.",
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{subdomain}.{centralDnsSuffixInPath}",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Subdomain"
+ },
+ {
+ "$ref": "#/parameters/CentralDnsSuffixInPath"
+ }
+ ]
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json
new file mode 100644
index 000000000000..b96efc68645e
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json
@@ -0,0 +1,135 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0.0",
+ "title": "Azure IoT Central",
+ "description": "Azure IoT Central is a service that makes it easy to connect, monitor, and manage your IoT devices at scale."
+ },
+ "host": "apps.azureiotcentral.com",
+ "basePath": "/api/preview",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "definitions": {
+ "Application": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the application.",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "Display name of the application.",
+ "type": "string"
+ },
+ "subdomain": {
+ "description": "The URL subdomain of the application.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The URL host of the application.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "subdomain",
+ "host"
+ ]
+ },
+ "ApplicationCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of applications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ }
+ },
+ "paths": {
+ "/applications": {
+ "get": {
+ "operationId": "Applications_List",
+ "summary": "Get the list of applications accessible to the signed-in user",
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List applications": {
+ "$ref": "./examples/application_list.json"
+ }
+ }
+ }
+ },
+ "/applications/{application_id}": {
+ "get": {
+ "operationId": "Applications_Get",
+ "summary": "Get an application by ID",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "application_id",
+ "description": "Unique ID of the application.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get application": {
+ "$ref": "./examples/application_get.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Subdomain": {
+ "in": "path",
+ "name": "subdomain",
+ "description": "Application subdomain.",
+ "x-ms-parameter-location": "client",
+ "type": "string",
+ "required": true
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/readme.md b/specification/iotcentral/data-plane/readme.md
new file mode 100644
index 000000000000..3927cea53f3b
--- /dev/null
+++ b/specification/iotcentral/data-plane/readme.md
@@ -0,0 +1,83 @@
+# IoT Central - API client generation
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for MonitorClient.
+
+
+
+---
+## Getting Started
+To build the SDK for MonitorClient, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+These are the global settings for the IoT Central API.
+
+``` yaml
+openapi-type: data-plane
+tag: package-2019-10-28-preview
+```
+
+### Tag: package-2019-10-28-preview
+
+These settings apply only when `--tag=package-2019-10-28-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10-28-preview'
+input-file:
+- Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
+- Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json
+```
+
+```yaml
+version: latest
+clear-output-folder: true
+
+# azure-validator: true
+semantic-validator: true
+
+azure-arm: true
+add-credentials: true
+generate-metadata: true
+license-header: MICROSOFT_MIT_NO_VERSION
+
+csharp:
+ namespace: Microsoft.Azure.IotCentral
+ output-folder: client/csharp/Microsoft.Azure.IotCentral
+
+nodejs:
+ package-name: azure-iotcentral
+ package-version: 1.0.0
+ output-folder: client/nodejs
+```
+## 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.IoTCentral/preview/2019-10-28-preview/iotcentral.json
+ - $(this-folder)/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.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/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckNameAvailability.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckNameAvailability.json
index 0996f65a1ee7..04b997b86622 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckNameAvailability.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckNameAvailability.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01",
"operationInputs": {
- "name": "myIoTCentralApp",
+ "name": "myiotcentralapp",
"type": "IoTApps"
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckSubdomainAvailability.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckSubdomainAvailability.json
index ab65e95d2f3d..fb4472ab7f8d 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckSubdomainAvailability.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CheckSubdomainAvailability.json
@@ -3,7 +3,7 @@
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01",
"operationInputs": {
- "name": "myIoTCentralApp",
+ "name": "myiotcentralapp",
"type": "IoTApps"
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CreateOrUpdate.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CreateOrUpdate.json
index 9d626fc30b83..19231965dc74 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CreateOrUpdate.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_CreateOrUpdate.json
@@ -5,12 +5,14 @@
"resourceName": "myIoTCentralApp",
"api-version": "2018-09-01",
"App": {
- "displayName": "My IoT Central App",
- "subdomain": "my-iot-central-app",
- "template": "iotc-default@1.0.0",
"location": "westus",
"sku": {
"name": "F1"
+ },
+ "properties": {
+ "displayName": "My IoT Central App",
+ "subdomain": "my-iot-central-app",
+ "template": "iotc-default@1.0.0"
}
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Update.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Update.json
index ba7205ca84ad..c00fef7086c1 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Update.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/examples/Apps_Update.json
@@ -5,7 +5,9 @@
"resourceName": "myIoTCentralApp",
"api-version": "2018-09-01",
"AppPatch": {
- "displayName": "My IoT Central App 2"
+ "properties": {
+ "displayName": "My IoT Central App 2"
+ }
}
},
"responses": {
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
index 7158083eeff6..89cda44e28af 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json
@@ -526,7 +526,10 @@
"description": "The name of the SKU.",
"enum": [
"F1",
- "S1"
+ "S1",
+ "ST0",
+ "ST1",
+ "ST2"
],
"type": "string",
"x-ms-enum": {
diff --git a/specification/iotcentral/resource-manager/readme.md b/specification/iotcentral/resource-manager/readme.md
index 90b5740df650..f1677b8b592c 100644
--- a/specification/iotcentral/resource-manager/readme.md
+++ b/specification/iotcentral/resource-manager/readme.md
@@ -113,7 +113,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-11' && $(python)
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub
+ namespace: azure.mgmt.iothub.v2019_11_04
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2019_11_04
+```
+
+### Tag: package-2019-03 and python
+
+These settings apply only when `--tag=package-2019-03 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(python)
+python:
+ namespace: azure.mgmt.iothub.v2019_03_22
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2019_03_22
+```
+
+### Tag: package-2018-04 and python
+
+These settings apply only when `--tag=package-2018-04 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-04' && $(python)
+python:
+ namespace: azure.mgmt.iothub.v2018_04_01
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2018_04_01
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Tag: package-2018-01 and python
+
+These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(python)
+python:
+ namespace: azure.mgmt.iothub.v2018_01_22
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2018_01_22
+```
+
+### Tag: package-2017-07 and python
+
+These settings apply only when `--tag=package-2017-07 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2017-07' && $(python)
+python:
+ namespace: azure.mgmt.iothub.v2017_07_01
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2017_07_01
+```
+
+### Tag: package-2017-01 and python
+
+These settings apply only when `--tag=package-2017-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2017-01' && $(python)
+python:
+ namespace: azure.mgmt.iothub.v2017_01_19
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2017_01_19
+```
+
+### Tag: package-2016-02 and python
+
+These settings apply only when `--tag=package-2016-02 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2016-02' && $(python)
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub
+ namespace: azure.mgmt.iothub.v2016_02_03
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/v2016_02_03
```
diff --git a/specification/iothub/resource-manager/readme.typescript.md b/specification/iothub/resource-manager/readme.typescript.md
index bae092757fa8..0abab2dbb88a 100644
--- a/specification/iothub/resource-manager/readme.typescript.md
+++ b/specification/iothub/resource-manager/readme.typescript.md
@@ -8,6 +8,7 @@ typescript:
azure-arm: true
package-name: "@azure/arm-iothub"
output-folder: "$(typescript-sdks-folder)/sdk/iothub/arm-iothub"
+ clear-output-folder: true
payload-flattening-threshold: 1
generate-metadata: true
```
diff --git a/specification/iotspaces/resource-manager/readme.md b/specification/iotspaces/resource-manager/readme.md
index 434da206def2..ffd5f3dc4dfe 100644
--- a/specification/iotspaces/resource-manager/readme.md
+++ b/specification/iotspaces/resource-manager/readme.md
@@ -21,7 +21,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-workspaces-2019-10' && $(go)
+namespace: workspaces
+output-folder: $(go-sdk-folder)/services/machinelearning/mgmt/2019-10-01/workspaces
+```
+
### Tag: package-commitmentPlans-2016-05-preview and go
These settings apply only when `--tag=package-commitmentPlans-2016-05-preview --go` is specified on the command line.
@@ -56,4 +67,4 @@ Please also specify `--go-sdk-folder=`.
-## Multi-API/Profile support for AutoRest v3 generators
+``` yaml $(tag) == 'package-workspaces-2019-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.machinelearning.v2019_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearning/mgmt-v2019_10_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.
@@ -239,15 +266,15 @@ input-file:
- $(this-folder)/Microsoft.MachineLearning/stable/2017-01-01/webservices.json
- $(this-folder)/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json
- $(this-folder)/Microsoft.MachineLearning/stable/2016-04-01/workspaces.json
+ - $(this-folder)/Microsoft.MachineLearning/stable/2019-10-01/workspaces.json
- $(this-folder)/Microsoft.MachineLearning/preview/2016-05-01-preview/webservices.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/machinelearning/resource-manager/readme.typescript.md b/specification/machinelearning/resource-manager/readme.typescript.md
index 583530b43744..0cde1d92dcdb 100644
--- a/specification/machinelearning/resource-manager/readme.typescript.md
+++ b/specification/machinelearning/resource-manager/readme.typescript.md
@@ -11,10 +11,13 @@ batch:
- package-commitmentPlans: true
package-name: "@azure/arm-commitmentplans"
output-folder: $(typescript-sdks-folder)/sdk/machinelearning/arm-commitmentplans
+ clear-output-folder: true
- package-webservices: true
package-name: "@azure/arm-webservices"
output-folder: $(typescript-sdks-folder)/sdk/machinelearning/arm-webservices
+ clear-output-folder: true
- package-workspaces: true
package-name: "@azure/arm-workspaces"
output-folder: $(typescript-sdks-folder)/sdk/machinelearning/arm-workspaces
+ clear-output-folder: true
```
diff --git a/specification/machinelearningcompute/resource-manager/readme.md b/specification/machinelearningcompute/resource-manager/readme.md
index 6b6f9a3b9ed5..be65538e35af 100644
--- a/specification/machinelearningcompute/resource-manager/readme.md
+++ b/specification/machinelearningcompute/resource-manager/readme.md
@@ -117,7 +117,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+```yaml $(tag)=='package-2020-01-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace)
+```
+
+## Tag: package-2019-11-01 and go
+
+These settings apply only when `--tag=package-2019-11-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2019-11-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-11-01/$(namespace)
+```
+
## Tag: package-2019-06-01 and go
These settings apply only when `--tag=package-2019-06-01 --go` is specified on the command line.
diff --git a/specification/machinelearningservices/resource-manager/readme.md b/specification/machinelearningservices/resource-manager/readme.md
index 60c8d2a6d9c6..68e4aad373f0 100644
--- a/specification/machinelearningservices/resource-manager/readme.md
+++ b/specification/machinelearningservices/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Machine Learning Services.
-
-
---
+
## Getting Started
+
To build the SDK for EventHub, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,16 +15,37 @@ To build the SDK for EventHub, simply [Install AutoRest](https://aka.ms/autorest
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
### Basic Information
+
These are the global settings for the Machine Learning Services API.
``` yaml
openapi-type: arm
-tag: package-2019-06-01
+tag: package-2020-01-01
+```
+
+
+### Tag: package-2020-01-01
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-01-01'
+input-file:
+ - Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json
+```
+
+### Tag: package-2019-11-01
+
+These settings apply only when `--tag=package-2019-11` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-11-01'
+input-file:
+ - Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json
```
### Tag: package-2019-06-01
@@ -64,8 +85,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -81,7 +102,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -96,7 +116,6 @@ csharp:
clear-output-folder: true
```
-
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -119,21 +138,49 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning/ser
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-01-01
+ - tag: package-2019-11-01
- tag: package-2019-06-01
- tag: package-2019-05-01
- tag: package-2018-11-19
- tag: package-2018-03-preview
```
+### Tag: package-2020-01-01 and java
+
+These settings apply only when `--tag=package-2020-01-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-01-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.machinelearningservices.v2020_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-11-01 and java
+
+These settings apply only when `--tag=package-2019-11-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-11-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.machinelearningservices.v2019_11_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2019_11_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2019-06-01 and java
-These settings apply only when `--tag=package-2019-05-01 --java` is specified on the command line.
+These settings apply only when `--tag=package-2019-06-01 --java` is specified on the command line.
Please also specify `--azure-libraries-for-java=`.
``` yaml $(tag) == 'package-2019-06-01' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.machinelearningservices.v2019_06_01
- output-folder: $(azure-libraries-for-java-folder)/machinelearningservices/resource-manager/v2019_06_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2019_06_01
regenerate-manager: true
generate-interface: true
```
@@ -146,7 +193,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.maintenance
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-maintenance
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-06-preview
+```
+
+### Tag: package-2018-06-preview and java
+
+These settings apply only when `--tag=package-2018-06-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.maintenance.v2018_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/maintenance/mgmt-v2018_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/maintenance/resource-manager/readme.md b/specification/maintenance/resource-manager/readme.md
index f7d84d706585..68e06698e8ac 100644
--- a/specification/maintenance/resource-manager/readme.md
+++ b/specification/maintenance/resource-manager/readme.md
@@ -84,20 +84,20 @@ python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: azure.mgmt.Maintenance
- package-name: azure-mgmt-Maintenance
+ namespace: azure.mgmt.maintenance
+ package-name: azure-mgmt-maintenance
package-version: 1.0.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-Maintenance/azure/mgmt/Maintenance
+ output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance/azure/mgmt/maintenance
```
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-Maintenance
+ output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance
```
## Go
@@ -106,18 +106,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)
-java:
- azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.management.Maintenance
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-Maintenance
-```
+See configuration in [readme.java.md](./readme.java.md)
## Multi-API/Profile support for AutoRest v3 generators
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 46f750fc191d..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,7 +10,7 @@
"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": {},
"location": "eastus",
@@ -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 eac86d4ff8bb..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,7 +11,7 @@
"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": {},
"location": "eastus",
@@ -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 be6cdeb0bad1..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,7 +10,7 @@
"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": {},
"location": "eastus",
@@ -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 e1c562701091..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
@@ -13,7 +13,7 @@
"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": {},
"location": "eastus",
@@ -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,7 +64,7 @@
"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": {},
"location": "eastus",
@@ -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 084e5ebb2405..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
@@ -12,10 +12,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": [
@@ -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,7 +50,7 @@
"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": {},
"location": "eastus",
@@ -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,7 +101,7 @@
"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": {},
"location": "eastus",
@@ -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/ScopeAssignmentsGet.json b/specification/managednetwork/resource-manager/Microsoft.ManagedNetwork/preview/2019-06-01-preview/examples/ScopeAssignment/ScopeAssignmentsGet.json
index 0a80f8a74d2c..af7bedb2f4b2 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
@@ -9,10 +9,10 @@
"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..52e0a12c67a3 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
@@ -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..9504bee14682 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
@@ -6,7 +6,7 @@
"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 487d426e914e..a2708092d737 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
@@ -398,7 +398,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
+ "description": "The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use 'subscriptions/{subscription-id}' for a subscription, 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
"x-ms-skip-url-encoding": true
},
{
@@ -1469,7 +1469,7 @@
"provisioningState": {
"type": "string",
"readOnly": true,
- "description": "Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
+ "description": "Provisioning state of the ManagedNetwork resource.",
"enum": [
"Updating",
"Deleting",
diff --git a/specification/managednetwork/resource-manager/readme.cli.md b/specification/managednetwork/resource-manager/readme.cli.md
index 31ea0f7ae092..5358ff8bfd66 100644
--- a/specification/managednetwork/resource-manager/readme.cli.md
+++ b/specification/managednetwork/resource-manager/readme.cli.md
@@ -4,12 +4,51 @@ These settings apply only when `--cli` is specified on the command line.
``` yaml $(cli)
cli:
- cli-name: managednetwork
+ cli-name: managed-network
namespace: azure.mgmt.managednetwork
package-name: azure-mgmt-managednetwork
- debug: true
- adjustments:
- "/sku": "Sku*/"
+ cmd-override:
+ "^.*[/]microsoft.managednetwork/scopeassignments([/][^/]*)?$": "managed-network scope-assignment"
+ "^.*[/]managednetworkgroups([/][^/]*)?$": "managed-network group"
+ "^.*[/]managednetworkpeeringpolicies([/][^/]*)?$": "managed-network peering-policy"
+ option-override:
+ "scope_management_groups_id":
+ name: scope_management_groups
+ "scope_subscriptions_id":
+ name: scope_subscriptions
+ "scope_virtual_networks_id":
+ name: scope_virtual_networks
+ "scope_subnets_id":
+ name: scope_subnets
+ "management_groups_id":
+ name: management_groups
+ "subscriptions_id":
+ name: subscriptions
+ "virtual_networks_id":
+ name: virtual_networks
+ "subnets_id":
+ name: subnets
+ "spokes_id":
+ name: spokes
+ "mesh_id":
+ name: mesh
+ flatten-all: true
test-setup:
- - name: Create or Update a service with all parameters
+ - name: ManagedNetworksPut
+ - name: ManagementNetworkGroupsPut
+ - name: ScopeAssignmentsPut
+ - name: ManagedNetworkPeeringPoliciesPut
+ - name: ManagedNetworksGet
+ - name: ManagedNetworksListByResourceGroup
+ - name: ManagedNetworksListBySubscription
+ - name: ScopeAssignmentsGet
+ - name: ScopeAssignmentsList
+ - name: ManagementNetworkGroupsGet
+ - name: ManagedNetworksGroupsListByManagedNetwork
+ - name: ManagedNetworkPeeringPoliciesGet
+ - name: ManagedNetworkPeeringPoliciesListByManagedNetwork
+ - name: ManagedNetworkPeeringPoliciesDelete
+ - name: ScopeAssignmentsDelete
+ - name: ManagementNetworkGroupsDelete
+ - name: ManagedNetworksDelete
```
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationAssignment.json
new file mode 100644
index 000000000000..234ac7fcd635
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationDefinition.json
new file mode 100644
index 000000000000..d93142515c3d
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/DeleteRegistrationDefinition.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json
new file mode 100644
index 000000000000..a8d48818f2a0
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "marketplaceIdentifier": "publisher.product.planName.version",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json
new file mode 100644
index 000000000000..39127fd4a5d3
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "$filter": "planIdentifier eq 'publisher.offerIdentifier.planName.version'",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetOperations.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetOperations.json
new file mode 100644
index 000000000000..75e4fe83d42a
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetOperations.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ManagedServices/registrationDefinitions/read",
+ "display": {
+ "provider": "Microsoft Managed Services",
+ "resource": "Managed Services Registration Definition",
+ "operation": "List Managed Services Registration Definitions",
+ "description": "Retrieves a list of Managed Services registration definitions."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignment.json
new file mode 100644
index 000000000000..d007d055ebc2
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignment.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "provisioningState": "Succeeded",
+ "registrationDefinition": {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854",
+ "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm",
+ "managedByTenantName": "Contoso Corp."
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-8e081c90ada2"
+ }
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013",
+ "type": "Microsoft.ManagedServices/registrationAssignments",
+ "name": "484a7d5f-9729-4b87-bc9b-26610985a013"
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignments.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignments.json
new file mode 100644
index 000000000000..870bd754c5af
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationAssignments.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "provisioningState": "Succeeded",
+ "registrationDefinition": {
+ "properties": {
+ "description": "Test",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854",
+ "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm",
+ "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "managedByTenantName": "Contoso Corp."
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-8e081c90ada2"
+ }
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013",
+ "type": "Microsoft.ManagedServices/registrationAssignments",
+ "name": "484a7d5f-9729-4b87-bc9b-26610985a013"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinition.json
new file mode 100644
index 000000000000..4957e59467e9
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinition.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Test",
+ "registrationDefinitionName": "DefinitionName",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinitions.json
new file mode 100644
index 000000000000..b30eb6d7f515
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetRegistrationDefinitions.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "api-version": "2019-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationAssignment.json
new file mode 100644
index 000000000000..b6faf93d7673
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01",
+ "requestBody": {
+ "properties": {
+ "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013",
+ "type": "Microsoft.ManagedServices/registrationAssignments",
+ "name": "484a7d5f-9729-4b87-bc9b-26610985a013"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013",
+ "type": "Microsoft.ManagedServices/registrationAssignments",
+ "name": "484a7d5f-9729-4b87-bc9b-26610985a013"
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationDefinition.json
new file mode 100644
index 000000000000..ba1017913c23
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/PutRegistrationDefinition.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea",
+ "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "api-version": "2019-09-01",
+ "requestBody": {
+ "properties": {
+ "registrationDefinitionName": "DefinitionName",
+ "description": "Tes1t",
+ "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "authorizations": [
+ {
+ "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ]
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "Test",
+ "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc",
+ "registrationDefinitionName": "DefinitionName",
+ "authorizations": [
+ {
+ "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc",
+ "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "managedByTenantName": "Test Tenant"
+ },
+ "plan": {
+ "name": "addesai-plan",
+ "product": "test",
+ "publisher": "marketplace-test",
+ "version": "1.0.0"
+ },
+ "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2",
+ "type": "Microsoft.ManagedServices/registrationDefinitions",
+ "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2"
+ }
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json
new file mode 100644
index 000000000000..e51fa6947178
--- /dev/null
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json
@@ -0,0 +1,960 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ManagedServicesClient",
+ "version": "2019-09-01",
+ "description": "Specification for ManagedServices."
+ },
+ "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.ManagedServices/registrationDefinitions/{registrationDefinitionId}": {
+ "get": {
+ "tags": [
+ "RegistrationDefinitions"
+ ],
+ "operationId": "RegistrationDefinitions_Get",
+ "description": "Gets the registration definition details.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/registrationDefinitionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the complete registration definition with plan details.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Registration Definition": {
+ "$ref": "./examples/GetRegistrationDefinition.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RegistrationDefinitions"
+ ],
+ "operationId": "RegistrationDefinitions_Delete",
+ "description": "Deletes the registration definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/registrationDefinitionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - The registration definition is deleted."
+ },
+ "204": {
+ "description": "No Content- The registration definition does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Registration Definition": {
+ "$ref": "./examples/DeleteRegistrationDefinition.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RegistrationDefinitions"
+ ],
+ "operationId": "RegistrationDefinitions_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates a registration definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/registrationDefinitionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "name": "requestBody",
+ "in": "body",
+ "required": true,
+ "description": "The parameters required to create new registration definition.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - Returns information about the updated registration definition.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the created registration definition.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Registration Definition": {
+ "$ref": "./examples/PutRegistrationDefinition.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}": {
+ "get": {
+ "tags": [
+ "RegistrationAssignments"
+ ],
+ "operationId": "RegistrationAssignments_Get",
+ "description": "Gets the details of specified registration assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistrationAssignmentIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandRegistrationDefinition"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the registration assignment.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Registration Assignment": {
+ "$ref": "./examples/GetRegistrationAssignment.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RegistrationAssignments"
+ ],
+ "operationId": "RegistrationAssignments_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified registration assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistrationAssignmentIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - The registration assignment is deleted."
+ },
+ "202": {
+ "description": "Accepted - The registration assignment deletion operation is accepted."
+ },
+ "204": {
+ "description": "No Content- The registration assignment does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Registration Assignment": {
+ "$ref": "./examples/DeleteRegistrationAssignment.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RegistrationAssignments"
+ ],
+ "operationId": "RegistrationAssignments_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates a registration assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistrationAssignmentIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "requestBody",
+ "in": "body",
+ "required": true,
+ "description": "The parameters required to create new registration assignment.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationAssignment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - Returns information about the updated registration assignment.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationAssignment"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the created registration assignment.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Registration Assignment": {
+ "$ref": "./examples/PutRegistrationAssignment.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions": {
+ "get": {
+ "tags": [
+ "RegistrationDefinitions"
+ ],
+ "operationId": "RegistrationDefinitions_List",
+ "description": "Gets a list of the registration definitions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns a list of the registration definitions.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinitionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Registration Definitions": {
+ "$ref": "./examples/GetRegistrationDefinitions.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments": {
+ "get": {
+ "tags": [
+ "RegistrationAssignments"
+ ],
+ "operationId": "RegistrationAssignments_List",
+ "description": "Gets a list of the registration assignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandRegistrationDefinition"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns a list of the registration assignments.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Registration Assignments": {
+ "$ref": "./examples/GetRegistrationAssignments.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions": {
+ "get": {
+ "tags": [
+ "MarketplaceRegistrationDefinitions"
+ ],
+ "operationId": "MarketplaceRegistrationDefinitions_List",
+ "description": "Gets a list of the marketplace registration definitions for the marketplace identifier.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/Filter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns a list of the marketplace registration definitions.",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceRegistrationDefinitionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Registration Definitions": {
+ "$ref": "./examples/GetMarketplaceRegistrationDefinitions.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}": {
+ "get": {
+ "tags": [
+ "MarketplaceRegistrationDefinitions"
+ ],
+ "operationId": "MarketplaceRegistrationDefinitions_Get",
+ "description": "Get the marketplace registration definition for the marketplace identifier.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceIdentifier"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the details of the marketplace registration definition.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Registration Definitions": {
+ "$ref": "./examples/GetMarketplaceRegistrationDefinition.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ManagedServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of the operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns a list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Registration Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RegistrationDefinition": {
+ "properties": {
+ "properties": {
+ "description": "Properties of a registration definition.",
+ "$ref": "#/definitions/RegistrationDefinitionProperties"
+ },
+ "plan": {
+ "description": "Plan details for the managed services.",
+ "$ref": "#/definitions/Plan"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified path of the registration definition."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the registration definition."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "description": "Registration definition."
+ },
+ "RegistrationDefinitionProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the registration definition."
+ },
+ "authorizations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Authorization"
+ },
+ "description": "Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role."
+ },
+ "registrationDefinitionName": {
+ "type": "string",
+ "description": "Name of the registration definition."
+ },
+ "managedByTenantId": {
+ "type": "string",
+ "description": "Id of the managedBy tenant."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Current state of the registration definition.",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "managedByTenantName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the managedBy tenant."
+ }
+ },
+ "required": [
+ "managedByTenantId",
+ "authorizations"
+ ],
+ "type": "object",
+ "description": "Properties of a registration definition."
+ },
+ "RegistrationDefinitionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ },
+ "description": "List of registration definitions."
+ },
+ "nextLink": {
+ "description": "Link to next page of registration definitions.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "List of registration definitions."
+ },
+ "RegistrationAssignment": {
+ "properties": {
+ "properties": {
+ "description": "Properties of a registration assignment.",
+ "$ref": "#/definitions/RegistrationAssignmentProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified path of the registration assignment."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the registration assignment."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "description": "Registration assignment."
+ },
+ "RegistrationAssignmentProperties": {
+ "properties": {
+ "registrationDefinitionId": {
+ "type": "string",
+ "description": "Fully qualified path of the registration definition."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Current state of the registration assignment.",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "registrationDefinition": {
+ "readOnly": true,
+ "properties": {
+ "properties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the registration definition."
+ },
+ "authorizations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Authorization"
+ },
+ "description": "Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role."
+ },
+ "registrationDefinitionName": {
+ "type": "string",
+ "description": "Name of the registration definition."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of the registration definition.",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "manageeTenantId": {
+ "type": "string",
+ "description": "Id of the home tenant."
+ },
+ "manageeTenantName": {
+ "type": "string",
+ "description": "Name of the home tenant."
+ },
+ "managedByTenantId": {
+ "type": "string",
+ "description": "Id of the managedBy tenant."
+ },
+ "managedByTenantName": {
+ "type": "string",
+ "description": "Name of the managedBy tenant."
+ }
+ },
+ "description": "Properties of registration definition inside registration assignment."
+ },
+ "plan": {
+ "description": "Plan details for the managed services.",
+ "$ref": "#/definitions/Plan"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified path of the registration definition."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource (Microsoft.ManagedServices/registrationDefinitions)."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the registration definition."
+ }
+ },
+ "type": "object",
+ "description": "Registration definition inside registration assignment."
+ }
+ },
+ "required": [
+ "registrationDefinitionId"
+ ],
+ "type": "object",
+ "description": "Properties of a registration assignment."
+ },
+ "RegistrationAssignmentList": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistrationAssignment"
+ },
+ "description": "List of registration assignments."
+ },
+ "nextLink": {
+ "description": "Link to next page of registration assignments.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "List of registration assignments."
+ },
+ "MarketplaceRegistrationDefinitionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RegistrationDefinition"
+ },
+ "description": "List of marketplace registration definitions."
+ },
+ "nextLink": {
+ "description": "Link to next page of marketplace registration definitions.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "List of marketplace registration definitions."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan name."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The product code."
+ },
+ "version": {
+ "type": "string",
+ "description": "The plan's version."
+ }
+ },
+ "required": [
+ "name",
+ "publisher",
+ "product",
+ "version"
+ ],
+ "type": "object",
+ "description": "Plan details for the managed services."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{operation}"
+ },
+ "display": {
+ "readOnly": true,
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Service provider: Microsoft.ManagedServices"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource on which the operation is performed: Registration definition, registration assignment etc."
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation type: Read, write, delete, etc."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation."
+ }
+ }
+ }
+ },
+ "type": "object",
+ "description": "Object that describes a single Microsoft.ManagedServices operation."
+ },
+ "OperationList": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Microsoft.ManagedServices operations."
+ }
+ },
+ "type": "object",
+ "description": "List of the operations."
+ },
+ "Authorization": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Principal Id of the security group/service principal/user that would be assigned permissions to the projected subscription"
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition identifier. This role will define all the permissions that the security group/service principal/user must have on the projected subscription. This role cannot be an owner role."
+ }
+ },
+ "required": [
+ "principalId",
+ "roleDefinitionId"
+ ],
+ "type": "object",
+ "description": "Authorization tuple containing principal Id (of user/service principal/security group) and role definition id."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "error": {
+ "readOnly": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message indicating why the operation failed."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "description": "Error response indicates Azure Resource Manager is not able to process the incoming request. The reason is provided in the error message."
+ }
+ },
+ "description": "Error response."
+ }
+ },
+ "parameters": {
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "description": "Scope of the resource."
+ },
+ "MarketplaceIdentifier": {
+ "name": "marketplaceIdentifier",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "Market place identifer. Expected Formats - {publisher}.{product[-preview]}.{planName}.{version} or {publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher})."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ },
+ "RegistrationAssignmentIdParameter": {
+ "name": "registrationAssignmentId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "Guid of the registration assignment."
+ },
+ "registrationDefinitionIdParameter": {
+ "name": "registrationDefinitionId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "Guid of the registration definition."
+ },
+ "ExpandRegistrationDefinition": {
+ "name": "$expandRegistrationDefinition",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "description": "Tells whether to return registration definition details also along with registration assignment details."
+ },
+ "Filter": {
+ "name": "$filter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "The filter query parameter. Might be used to filter marketplace registration definition by plan identifier, publisher, version etc."
+ }
+ }
+}
diff --git a/specification/managedservices/resource-manager/readme.md b/specification/managedservices/resource-manager/readme.md
index 16673ff45462..c2f452c2dade 100644
--- a/specification/managedservices/resource-manager/readme.md
+++ b/specification/managedservices/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the ManagedServices API.
``` yaml
openapi-type: arm
-tag: package-2019-06
+tag: package-2019-09
```
+### 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.ManagedServices/stable/2019-09-01/managedservices.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.ManagedServices/stable/2019-06-01/managedservices.json
```
+
### Tag: package-2019-04-preview
These settings apply only when `--tag=package-2019-04-preview` is specified on the command line.
@@ -96,7 +105,7 @@ csharp:
See configuration in [readme.go.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.
@@ -108,17 +117,17 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json
- $(this-folder)/Microsoft.ManagedServices/stable/2019-06-01/managedservices.json
- $(this-folder)/Microsoft.ManagedServices/preview/2019-04-01-preview/managedservices.json
- $(this-folder)/Microsoft.ManagedServices/preview/2018-06-01-preview/managedservices.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:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-03-01-preview/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-03-01-preview/management.json
index dce21369519b..e7ed4bbbce55 100644
--- a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-03-01-preview/management.json
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-03-01-preview/management.json
@@ -273,7 +273,7 @@
}
},
"/providers/Microsoft.Management/managementGroups/{groupId}/descendants": {
- "post": {
+ "get": {
"tags": [
"ManagementGroups_Descendants"
],
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/AddManagementGroupSubscription.json
new file mode 100644
index 000000000000..aedc1df12223
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/AddManagementGroupSubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "Group",
+ "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/CheckManagementGroupNameAvailability.json
new file mode 100644
index 000000000000..a820fac179a2
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/CheckManagementGroupNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "checkNameAvailabilityRequest": {
+ "name": "nameTocheck",
+ "type": "Microsoft.Management/managementGroups"
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/DeleteManagementGroup.json
new file mode 100644
index 000000000000..afa7c9c73018
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/DeleteManagementGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "GroupToDelete",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "GroupToDelete",
+ "status": "NotStarted"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetDescendants.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetDescendants.json
new file mode 100644
index 000000000000..67c19b5f05a3
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetDescendants.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "20000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "displayName": "Group 1",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/20000000-0004-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "20000000-0004-0000-0000-000000000000",
+ "properties": {
+ "displayName": "Subscription 4",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetEntities.json
new file mode 100644
index 000000000000..3fa3c771a2ab
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetEntities.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ },
+ "permissions": "view",
+ "inheritedPermissions": "view",
+ "parentDisplayNameChain": [
+ "Tenant Root Group",
+ "Group 1 Tenant 2 Parent"
+ ],
+ "parentNameChain": [
+ "TenantRootGroup",
+ "Group1Tenant2Parent"
+ ],
+ "numberOfDescendants": 3,
+ "numberOfChildren": 2,
+ "numberOfChildGroups": 1
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0004-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 4 Tenant 2",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ },
+ "permissions": "delete",
+ "inheritedPermissions": "delete",
+ "parentDisplayNameChain": [
+ "Tenant Root Group",
+ "Group 4 Tenant 2 Parent"
+ ],
+ "parentNameChain": [
+ "TenantRootGroup",
+ "Group4 Tenant2Parent"
+ ],
+ "numberOfDescendants": 0,
+ "numberOfChildren": 0,
+ "numberOfChildGroups": 0
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroup.json
new file mode 100644
index 000000000000..21330ff03ced
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "name": "RootGroup",
+ "displayName": "RootGroup"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpand.json
new file mode 100644
index 000000000000..e9f8f0eb4ae4
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpand.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "$expand": "children",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000",
+ "name": "20000000-0000-0000-0000-000000000000",
+ "displayName": "20000000-0000-0000-0000-000000000000"
+ }
+ },
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0002-0000-0000-000000000000",
+ "displayName": "Group 2 Tenant 2"
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0003-0000-0000-000000000000",
+ "displayName": "Group 3 Tenant 2"
+ },
+ {
+ "id": "/subscriptions/10000000-F004-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "10000000-F004-0000-0000-000000000000",
+ "displayName": "Subscription 4 Tenant 1"
+ },
+ {
+ "id": "/subscriptions/20000000-F005-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "20000000-F005-0000-0000-000000000000",
+ "displayName": "Subscription 5 Tenant 2"
+ },
+ {
+ "id": "/subscriptions/30000000-F003-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "30000000-F003-0000-0000-000000000000",
+ "displayName": "Subscription 3 Tenant 3"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpandAndRecurse.json
new file mode 100644
index 000000000000..279cca0696eb
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/GetManagementGroupWithExpandAndRecurse.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "$expand": "children",
+ "$recurse": true,
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "RootGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "RootGroup",
+ "details": {
+ "version": 2,
+ "updatedTime": "2018-01-25T02:26:49.0022093Z",
+ "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000",
+ "name": "20000000-0000-0000-0000-000000000000",
+ "displayName": "20000000-0000-0000-0000-000000000000"
+ }
+ },
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Child",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "Child",
+ "displayName": "Child",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ],
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Leaf",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "Leaf",
+ "displayName": "Leaf",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ],
+ "children": [
+ {
+ "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "type": "/subscriptions",
+ "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "displayName": "Pay-As-You-Go",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/AnotherChild",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "AnotherChild",
+ "displayName": "Leaf",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/ListManagementGroups.json
new file mode 100644
index 000000000000..da6c467ca79e
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/ListManagementGroups.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "20000000-0004-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 4 Tenant 2"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PatchManagementGroup.json
new file mode 100644
index 000000000000..4a664652f1f0
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PatchManagementGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "ChildGroup",
+ "patchGroupRequest": {
+ "displayName": "AlternateDisplayName",
+ "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup"
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "AlternateDisplayName",
+ "details": {
+ "version": 2,
+ "updatedTime": "2018-01-25T02:46:59.0545645Z",
+ "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup",
+ "name": "AlternateRootGroup",
+ "displayName": "AlternateRootGroup"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PutManagementGroup.json
new file mode 100644
index 000000000000..c3e1bc7d00bd
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/PutManagementGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "ChildGroup",
+ "createManagementGroupRequest": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "ChildGroup",
+ "details": {
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup"
+ }
+ }
+ }
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "ChildGroup",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "name": "RootGroup",
+ "displayName": "RootGroup"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "status": "NotStarted"
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/RemoveManagementGroupSubscription.json
new file mode 100644
index 000000000000..aedc1df12223
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/RemoveManagementGroupSubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "groupId": "Group",
+ "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/StartTenantBackfillRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/StartTenantBackfillRequest.json
new file mode 100644
index 000000000000..7741e8bdf9cd
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/StartTenantBackfillRequest.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "startTenantBackfillRequest": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "status": "Started"
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/TenantBackfillStatusRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/TenantBackfillStatusRequest.json
new file mode 100644
index 000000000000..16447e0f39e4
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/examples/TenantBackfillStatusRequest.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "tenantBackfillStatusRequest": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "status": "Started"
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/management.json
new file mode 100644
index 000000000000..22961a1340cc
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2019-11-01/management.json
@@ -0,0 +1,1654 @@
+{
+ "swagger": "2.0",
+ "host": "management.azure.com",
+ "info": {
+ "version": "2019-11-01",
+ "title": "Management Groups API",
+ "description": "The Azure Management Groups API enables consolidation of multiple subscriptions/resources into an organizational hierarchy and centrally manage access control, policies, alerting and reporting for those resources."
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "ManagementGroups",
+ "description": "A Management Group is a customer defined scope (grouping mechanism) that provides access control (authorization), policy management and reporting. Management Groups are organized in a strictly tree-based hierarchy."
+ },
+ {
+ "name": "Operations",
+ "description": "Management operations supported by the Microsoft.Management resource provider."
+ },
+ {
+ "name": "Entities",
+ "description": "A list of entities that belong to the Management Groups."
+ }
+ ],
+ "paths": {
+ "/providers/Microsoft.Management/managementGroups": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_List",
+ "description": "List management groups for the authenticated user.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListManagementGroups": {
+ "$ref": "./examples/ListManagementGroups.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Get",
+ "description": "Get the details of the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ },
+ {
+ "$ref": "#/parameters/RecurseParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetManagementGroup": {
+ "$ref": "./examples/GetManagementGroup.json"
+ },
+ "GetManagementGroupWithExpand": {
+ "$ref": "./examples/GetManagementGroupWithExpand.json"
+ },
+ "GetManagementGroupsWithExpandAndRecurse": {
+ "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_CreateOrUpdate",
+ "description": "Create or update a management group. If a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/CreateManagementGroupRequestParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResults"
+ },
+ "headers": {
+ "Location": {
+ "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\n The URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state \n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL for checking the ongoing status of the operation.\n To get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutManagementGroup": {
+ "$ref": "./examples/PutManagementGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Update",
+ "description": "Update a management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/PatchGroupRequestParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchManagementGroup": {
+ "$ref": "./examples/PatchManagementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Delete",
+ "description": "Delete management group. If a management group contains child resources, the request will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResults"
+ },
+ "headers": {
+ "Location": {
+ "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\n The URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state \n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL for checking the ongoing status of the operation.\n To get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteManagementGroup": {
+ "$ref": "./examples/DeleteManagementGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/descendants": {
+ "get": {
+ "tags": [
+ "ManagementGroups_Descendants"
+ ],
+ "operationId": "ManagementGroups_GetDescendants",
+ "description": "List all entities that descend from a management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DescendantListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetDescendants": {
+ "$ref": "./examples/GetDescendants.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": {
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Create",
+ "description": "Associates existing subscription with the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AddSubscriptionToManagementGroup": {
+ "$ref": "./examples/AddManagementGroupSubscription.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Delete",
+ "description": "De-associates subscription from the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteSubscriptionFromManagementGroup": {
+ "$ref": "./examples/RemoveManagementGroupSubscription.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Management REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailability",
+ "description": "Checks if the specified management group name is valid and unique",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CheckNameAvailabilityParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckManagementGroupNameAvailability": {
+ "$ref": "./examples/CheckManagementGroupNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/getEntities": {
+ "post": {
+ "tags": [
+ "Entities"
+ ],
+ "operationId": "Entities_List",
+ "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/SelectParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchParameter"
+ },
+ {
+ "$ref": "#/parameters/EntityFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/EntityViewParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EntityListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetEntities": {
+ "$ref": "./examples/GetEntities.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/startTenantBackfill": {
+ "post": {
+ "tags": [
+ "TenantBackfill"
+ ],
+ "operationId": "StartTenantBackfill",
+ "description": "Starts backfilling subscriptions for the Tenant.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TenantBackfillStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "StartTenantBackfill": {
+ "$ref": "./examples/StartTenantBackfillRequest.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/tenantBackfillStatus": {
+ "post": {
+ "tags": [
+ "TenantBackfill"
+ ],
+ "operationId": "TenantBackfillStatus",
+ "description": "Gets tenant backfill status",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TenantBackfillStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TenantBackfillStatus": {
+ "$ref": "./examples/TenantBackfillStatusRequest.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A human-readable representation of the error's details.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation supported by the Microsoft.Management resource provider.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "title": "Display",
+ "$ref": "#/definitions/OperationDisplayProperties"
+ }
+ }
+ },
+ "OperationDisplayProperties": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The operation that can be performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Describes the result of the request to list Microsoft.Management operations.",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Management resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "Describes the result of the request to check management group name availability.",
+ "properties": {
+ "nameAvailable": {
+ "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid"
+ },
+ {
+ "value": "AlreadyExists"
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "message": {
+ "description": "Required if nameAvailable == false. Localized. If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TenantBackfillStatusResult": {
+ "description": "The tenant backfill status",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the Tenant Backfill",
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "NotStartedButGroupsExist",
+ "Started",
+ "Failed",
+ "Cancelled",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "NotStarted"
+ },
+ {
+ "value": "NotStartedButGroupsExist"
+ },
+ {
+ "value": "Started"
+ },
+ {
+ "value": "Failed"
+ },
+ {
+ "value": "Cancelled"
+ },
+ {
+ "value": "Completed"
+ }
+ ]
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupListResult": {
+ "description": "Describes the result of the request to list management groups.",
+ "properties": {
+ "value": {
+ "description": "The list of management groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupInfo": {
+ "description": "The management group resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "title": "Properties",
+ "$ref": "#/definitions/ManagementGroupInfoProperties"
+ }
+ }
+ },
+ "ManagementGroupInfoProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ }
+ }
+ },
+ "ManagementGroup": {
+ "description": "The management group details.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupProperties"
+ }
+ }
+ },
+ "ManagementGroupProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "roles": {
+ "description": "The role definitions associated with the management group.",
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "details": {
+ "title": "Details",
+ "$ref": "#/definitions/ManagementGroupDetails"
+ },
+ "children": {
+ "description": "The list of children.",
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ },
+ "path": {
+ "description": "The hierarchial path from the root group to the current group.",
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupPathElement"
+ }
+ }
+ }
+ },
+ "ManagementGroupDetails": {
+ "description": "The details of a management group.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "number",
+ "format": "int32",
+ "description": "The version number of the object."
+ },
+ "updatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this object was last updated."
+ },
+ "updatedBy": {
+ "type": "string",
+ "description": "The identity of the principal or process that updated the object."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/ParentGroupInfo"
+ }
+ }
+ },
+ "ManagementGroupChildInfo": {
+ "description": "The child information of a management group.",
+ "properties": {
+ "type": {
+ "title": "The type of child resource.",
+ "$ref": "#/definitions/ManagementGroupChildType",
+ "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)"
+ },
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the child entity."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the child resource."
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "children": {
+ "description": "The list of children.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "ManagementGroupPathElement": {
+ "description": "A path element of a management group ancestors.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the group."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the group."
+ }
+ }
+ },
+ "ParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parent management group"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the parent management group."
+ }
+ }
+ },
+ "ManagementGroupChildType": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Management/managementGroups",
+ "/subscriptions"
+ ],
+ "description": "The type of child resource."
+ },
+ "OperationResults": {
+ "description": "The results of an asynchronous operation.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "The current status of the operation",
+ "readOnly": true
+ }
+ }
+ },
+ "DescendantListResult": {
+ "description": "Describes the result of the request to view descendants.",
+ "properties": {
+ "value": {
+ "description": "The list of descendants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DescendantInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DescendantInfo": {
+ "description": "The descendant.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the descendant. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "x-nullable": true,
+ "$ref": "#/definitions/DescendantInfoProperties"
+ }
+ }
+ },
+ "DescendantInfoProperties": {
+ "description": "The generic properties of an descendant.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group.",
+ "x-nullable": true
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/DescendantParentGroupInfo",
+ "x-nullable": true
+ }
+ }
+ },
+ "DescendantParentGroupInfo": {
+ "description": "The ID of the parent management group.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "EntityListResult": {
+ "description": "Describes the result of the request to view entities.",
+ "properties": {
+ "value": {
+ "description": "The list of entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityInfo"
+ }
+ },
+ "count": {
+ "description": "Total count of records that match the filter",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EntityInfo": {
+ "description": "The entity.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "x-nullable": true,
+ "$ref": "#/definitions/EntityInfoProperties"
+ }
+ }
+ },
+ "EntityInfoProperties": {
+ "description": "The generic properties of an entity.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000",
+ "x-nullable": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group.",
+ "x-nullable": true
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/EntityParentGroupInfo",
+ "x-nullable": true
+ },
+ "permissions": {
+ "title": "Permissions",
+ "x-nullable": true,
+ "$ref": "#/definitions/Permissions"
+ },
+ "inheritedPermissions": {
+ "title": "Inherited Permissions",
+ "x-nullable": true,
+ "$ref": "#/definitions/Permissions"
+ },
+ "numberOfDescendants": {
+ "title": "Number of Descendants",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "numberOfChildren": {
+ "title": "Number of Children",
+ "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "numberOfChildGroups": {
+ "title": "Number of Child Groups",
+ "description": "Number of children is the number of Groups that are exactly one level underneath the current Group.",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "parentDisplayNameChain": {
+ "type": "array",
+ "description": "The parent display name chain from the root group to the immediate parent",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "parentNameChain": {
+ "type": "array",
+ "description": "The parent name chain from the root group to the immediate parent",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EntityParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "EntityHierarchyItem": {
+ "description": "The management group details for the hierarchy view.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EntityHierarchyItemProperties"
+ }
+ }
+ },
+ "EntityHierarchyItemProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "permissions": {
+ "title": "Permissions",
+ "$ref": "#/definitions/Permissions"
+ },
+ "children": {
+ "type": "array",
+ "description": "The list of children.",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/EntityHierarchyItem"
+ }
+ }
+ }
+ },
+ "PatchManagementGroupRequest": {
+ "description": "Management group patch parameters.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group.",
+ "x-nullable": true
+ },
+ "parentId": {
+ "type": "string",
+ "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "x-nullable": true
+ }
+ }
+ },
+ "CreateManagementGroupRequest": {
+ "description": "Management group creation parameters.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateManagementGroupProperties"
+ }
+ }
+ },
+ "CreateManagementGroupProperties": {
+ "description": "The generic properties of a management group used during creation.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.",
+ "x-nullable": true
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "readOnly": true,
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "details": {
+ "title": "Details",
+ "$ref": "#/definitions/CreateManagementGroupDetails"
+ },
+ "children": {
+ "description": "The list of children.",
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "CreateManagementGroupDetails": {
+ "description": "The details of a management group used during creation.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "number",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The version number of the object."
+ },
+ "updatedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date and time when this object was last updated."
+ },
+ "updatedBy": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity of the principal or process that updated the object."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/CreateParentGroupInfo"
+ }
+ }
+ },
+ "CreateManagementGroupChildInfo": {
+ "description": "The child information of a management group used during creation.",
+ "properties": {
+ "type": {
+ "title": "The type of child resource.",
+ "readOnly": true,
+ "$ref": "#/definitions/ManagementGroupChildType",
+ "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the child entity."
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the child resource."
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "children": {
+ "description": "The list of children.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "CreateParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group used during creation.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the parent management group"
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the parent management group."
+ }
+ }
+ },
+ "Permissions": {
+ "type": "string",
+ "enum": [
+ "noaccess",
+ "view",
+ "edit",
+ "delete"
+ ],
+ "description": "The users specific permissions to this item."
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "Management group name availability check parameters.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "the name to check for availability"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Management/managementGroups"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Microsoft.Management/managementGroups"
+ }
+ ]
+ },
+ "description": "fully qualified resource type which includes provider namespace"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management Group ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2018-01-01-preview."
+ },
+ "ExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "children",
+ "path"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group."
+ },
+ "RecurseParameter": {
+ "name": "$recurse",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method",
+ "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true."
+ },
+ "CreateManagementGroupRequestParameter": {
+ "name": "createManagementGroupRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group creation parameters.",
+ "schema": {
+ "$ref": "#/definitions/CreateManagementGroupRequest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PatchGroupRequestParameter": {
+ "name": "patchGroupRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group patch parameters.",
+ "schema": {
+ "$ref": "#/definitions/PatchManagementGroupRequest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "description": "The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}') and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SelectParameter": {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "description": "This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SearchParameter": {
+ "name": "$search",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "AllowedParents",
+ "AllowedChildren",
+ "ParentAndFirstLevelChildren",
+ "ParentOnly",
+ "ChildrenOnly"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in. With $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.With $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.With $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.With $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.With $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it's descendants for it to show up in the results."
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "query",
+ "required": false,
+ "description": "A filter which allows the get entities call to focus on a particular group (i.e. \"$filter=name eq 'groupName'\")",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationResultIdParameter": {
+ "name": "operationResultId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "create",
+ "delete"
+ ],
+ "description": "The id of the operation result.",
+ "x-ms-parameter-location": "method"
+ },
+ "CheckNameAvailabilityParameter": {
+ "name": "checkNameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group name availability check parameters.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "description": "Number of entities to skip over when retrieving results. Passing this in will override $skipToken.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "description": "Number of elements to return when retrieving results. Passing this in will override $skipToken.",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipTokenParameter": {
+ "name": "$skiptoken",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Page continuation token 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 token parameter that specifies a starting point to use for subsequent calls.",
+ "x-ms-parameter-location": "method"
+ },
+ "CacheControlHeader": {
+ "name": "Cache-Control",
+ "in": "header",
+ "default": "no-cache",
+ "description": "Indicates that the request shouldn't utilize any caches.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityViewParameter": {
+ "name": "$view",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "FullHierarchy",
+ "GroupsOnly",
+ "SubscriptionsOnly",
+ "Audit"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call."
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md
index c3b2843170a6..b39d9b2ccfc1 100644
--- a/specification/managementgroups/resource-manager/readme.go.md
+++ b/specification/managementgroups/resource-manager/readme.go.md
@@ -13,11 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-11
- tag: package-2018-03
- tag: package-2018-01
- tag: package-2017-11
- tag: package-2017-08
```
+### Tag: package-2019-11 and go
+
+These settings apply only when `--tag=package-2019-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-11' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2019-11-01/$(namespace)
+```
### Tag: package-2018-03 and go
diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md
index c8b28e279208..7b72c1d0fb84 100644
--- a/specification/managementgroups/resource-manager/readme.md
+++ b/specification/managementgroups/resource-manager/readme.md
@@ -24,8 +24,17 @@ These are the global settings for the API.
``` yaml
openapi-type: arm
-tag: package-2018-03
+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.Management/stable/2019-11-01/management.json
+```
+
### Tag: package-2018-03
These settings apply only when `--tag=package-2018-03` is specified on the command line.
@@ -144,6 +153,7 @@ batch:
- tag: package-2017-11
- tag: package-2018-01
- tag: package-2018-03
+ - tag: package-2019-11
```
### Tag: package-2017-08 and java
@@ -154,7 +164,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.managementgroups.v2019_11_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/managementgroups/mgmt-v2019_11_01
regenerate-manager: true
generate-interface: true
```
@@ -212,6 +234,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Management/stable/2019-11-01/management.json
- $(this-folder)/Microsoft.Management/preview/2018-03-01-preview/management.json
- $(this-folder)/Microsoft.Management/preview/2018-01-01-preview/management.json
- $(this-folder)/Microsoft.Management/preview/2017-11-01-preview/management.json
diff --git a/specification/managementgroups/resource-manager/readme.typescript.md b/specification/managementgroups/resource-manager/readme.typescript.md
index 5c997f4e2511..a159819b32a2 100644
--- a/specification/managementgroups/resource-manager/readme.typescript.md
+++ b/specification/managementgroups/resource-manager/readme.typescript.md
@@ -8,5 +8,6 @@ typescript:
azure-arm: true
package-name: "@azure/arm-managementgroups"
output-folder: "$(typescript-sdks-folder)/sdk/managementgroups/arm-managementgroups"
+ clear-output-folder: true
generate-metadata: true
```
diff --git a/specification/managementpartner/resource-manager/readme.md b/specification/managementpartner/resource-manager/readme.md
index 0b22fe3e05ea..85c0c7e92354 100644
--- a/specification/managementpartner/resource-manager/readme.md
+++ b/specification/managementpartner/resource-manager/readme.md
@@ -23,7 +23,7 @@ Please also specify `--azure-libraries-for-java= see https://aka.ms/autorest
+This is the AutoRest configuration file for marketplace.
+
+## Getting Started
+
+There is no SDK for this endpoint, this is used internaly for calling markeplaceRP from Ibiza.
+
+---
+
+## Configuration
+
+### Basic Information
+
+Make an HTTPs request from Ibiza to the endpoint in order to get the check if user is private or not
+
+
+### Tag: package-2019-12-01
+
+These settings apply only when `--tag=package-2019-12-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-12-01'
+input-file:
+ - Microsoft.Marketplace/stable/2019-12-01/Marketplace.json
+```
+## 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.Marketplace/stable/2019-12-01/Marketplace.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/marketplaceordering/resource-manager/readme.md b/specification/marketplaceordering/resource-manager/readme.md
index bd6daac596b3..e9177ad54f45 100644
--- a/specification/marketplaceordering/resource-manager/readme.md
+++ b/specification/marketplaceordering/resource-manager/readme.md
@@ -187,7 +187,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+```yaml $(tag) == 'package-2019-05-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/mediaservices/mgmt/2019-05-01-preview/$(namespace)
+```
diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md
index a812b8a7aac6..f21dde020c01 100644
--- a/specification/mediaservices/resource-manager/readme.md
+++ b/specification/mediaservices/resource-manager/readme.md
@@ -220,7 +220,7 @@ Please also specify the `--azure-libraries-for-java-folder=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 (IPv4 only) 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": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource"
+ },
+ "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": [
+ "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"
+ }
+ },
+ "volumeType": {
+ "type": "string",
+ "description": "What type of volume is this",
+ "example": "DataProtection"
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection volume, can have a replication object",
+ "properties": {
+ "replication": {
+ "title": "Replication",
+ "description": "Replication properties",
+ "type": "object",
+ "$ref": "#/definitions/replicationObject"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "replicationObject": {
+ "description": "Replication properties",
+ "type": "object",
+ "required": [
+ "endpointType",
+ "remoteVolumeResourceId",
+ "replicationSchedule"
+ ],
+ "properties": {
+ "replicationId": {
+ "title": "replicationId",
+ "type": "string",
+ "description": "Id"
+ },
+ "endpointType": {
+ "title": "endpointType",
+ "type": "string",
+ "description": "Indicates whether the local volume is the source or destination for the Volume Replication",
+ "example": "src, dst"
+ },
+ "replicationSchedule": {
+ "title": "replicationSchedule",
+ "type": "string",
+ "description": "Schedule",
+ "example": "10minutely, hourly, daily, weekly, monthly"
+ },
+ "remoteVolumeResourceId": {
+ "title": "remoteVolumeResourceId",
+ "type": "string",
+ "description": "The resource ID of the remote volume."
+ }
+ }
+ },
+ "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"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "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-08-01"
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_CreateOrUpdate.json
new file mode 100644
index 000000000000..eaaee63ae1ec
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_CreateOrUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Delete.json
new file mode 100644
index 000000000000..5171bcab1be2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Get.json
new file mode 100644
index 000000000000..641346872b70
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_List.json
new file mode 100644
index 000000000000..8f3bfeabbdc9
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Update.json
new file mode 100644
index 000000000000..8de39879f7a1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Accounts_Update.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2019-10-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/CheckFilePathAvailability.json
new file mode 100644
index 000000000000..ad2818f8f0c2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/CheckFilePathAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2019-10-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-10-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..66d6011c7af2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2019-10-01",
+ "body": {
+ "name": "accName",
+ "type": "netAppAccount",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/MountTargets_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/MountTargets_List.json
new file mode 100644
index 000000000000..10e9f5736428
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/MountTargets_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/mountTargets/target1",
+ "name": "account1/pool1/volume1/target1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/mountTargets",
+ "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": "",
+ "ipAddress": "1.2.3.4",
+ "gateway": "",
+ "smbServerFqdn": "fullyqualified.domainname.com",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_CreateOrUpdate.json
new file mode 100644
index 000000000000..4a5ec998b877
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_CreateOrUpdate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "size": 4398046511104,
+ "serviceLevel": "Premium"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Delete.json
new file mode 100644
index 000000000000..c992e9f47c9d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Get.json
new file mode 100644
index 000000000000..781755c8a8d0
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_List.json
new file mode 100644
index 000000000000..a11f1f3b53a5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Update.json
new file mode 100644
index 000000000000..26d1b007e46f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Pools_Update.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2019-10-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Create.json
new file mode 100644
index 000000000000..3b85365671a1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Create.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Delete.json
new file mode 100644
index 000000000000..fcea3275035f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Get.json
new file mode 100644
index 000000000000..3614d1c22f8e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_List.json
new file mode 100644
index 000000000000..70e5f326a7c1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Update.json
new file mode 100644
index 000000000000..10a3f6b369d5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Snapshots_Update.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2019-10-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_AuthorizeReplication.json
new file mode 100644
index 000000000000..acd424177786
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_AuthorizeReplication.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {}
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_BreakReplication.json
new file mode 100644
index 000000000000..370aa3ac0db4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_BreakReplication.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_CreateOrUpdate.json
new file mode 100644
index 000000000000..c4f7587a39a9
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "creationToken": "my-unique-file-path",
+ "serviceLevel": "Premium",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Delete.json
new file mode 100644
index 000000000000..274719af69f8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_DeleteReplication.json
new file mode 100644
index 000000000000..370aa3ac0db4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_DeleteReplication.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Get.json
new file mode 100644
index 000000000000..06ae00af6b5d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "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-10-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_List.json
new file mode 100644
index 000000000000..7a93b302e519
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "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-10-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_ReplicationStatus.json
new file mode 100644
index 000000000000..bd4223cdb6b2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_ReplicationStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "healthy": true,
+ "relationshipStatus": "Idle",
+ "mirrorState": "Mirrored",
+ "totalProgress": "1048576",
+ "errorMessage": ""
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_ResyncReplication.json
new file mode 100644
index 000000000000..370aa3ac0db4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_ResyncReplication.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Update.json
new file mode 100644
index 000000000000..3cb23498ddd8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/examples/Volumes_Update.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2019-10-01",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "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-10-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json
new file mode 100644
index 000000000000..f5dd01e2890e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json
@@ -0,0 +1,2721 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft NetApp",
+ "description": "Microsoft NetApp Azure Resource Provider specification",
+ "version": "2019-10-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": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check resource name availability",
+ "description": "Check if a resource name is available.",
+ "operationId": "NetAppResource_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": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check file path availability",
+ "description": "Check if a file path is available.",
+ "operationId": "NetAppResource_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}/breakReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Break volume replication",
+ "description": "Break the replication connection on the destination volume",
+ "operationId": "Volumes_BreakReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_BreakReplication": {
+ "$ref": "examples/Volumes_BreakReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": {
+ "get": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Get volume replication status",
+ "description": "Get the status of the replication",
+ "operationId": "Volumes_ReplicationStatus",
+ "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/replicationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_ReplicationStatus": {
+ "$ref": "examples/Volumes_ReplicationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Resync volume replication",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.",
+ "operationId": "Volumes_ResyncReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_ResyncReplication": {
+ "$ref": "examples/Volumes_ResyncReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Delete volume replication",
+ "description": "Delete the replication connection on the destination volume, and send release to the source replication",
+ "operationId": "Volumes_DeleteReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_DeleteReplication": {
+ "$ref": "examples/Volumes_DeleteReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Authorize source volume replication",
+ "description": "Authorize the replication connection on the source volume",
+ "operationId": "Volumes_AuthorizeReplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "authorize request object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/authorizeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed."
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_AuthorizeReplication": {
+ "$ref": "examples/Volumes_AuthorizeReplication.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 (IPv4 only) 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": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource"
+ },
+ "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": [
+ "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"
+ }
+ },
+ "volumeType": {
+ "type": "string",
+ "description": "What type of volume is this",
+ "example": "DataProtection"
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection type volumes include an object containing details of the replication",
+ "properties": {
+ "replication": {
+ "title": "Replication",
+ "description": "Replication properties",
+ "type": "object",
+ "$ref": "#/definitions/replicationObject"
+ }
+ }
+ },
+ "isRestoring": {
+ "type": "boolean",
+ "description": "Restoring"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "replicationObject": {
+ "description": "Replication properties",
+ "type": "object",
+ "required": [
+ "replicationSchedule",
+ "remoteVolumeResourceId"
+ ],
+ "properties": {
+ "replicationId": {
+ "type": "string",
+ "description": "Id"
+ },
+ "endpointType": {
+ "type": "string",
+ "description": "Indicates whether the local volume is the source or destination for the Volume Replication",
+ "enum": [
+ "src",
+ "dst"
+ ],
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ },
+ "replicationSchedule": {
+ "type": "string",
+ "description": "Schedule",
+ "enum": [
+ "_10minutely",
+ "hourly",
+ "daily",
+ "weekly",
+ "monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationSchedule",
+ "modelAsString": true
+ }
+ },
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "The resource ID of the remote volume."
+ },
+ "remoteVolumeRegion": {
+ "type": "string",
+ "description": "The remote region for the other end of the Volume Replication."
+ }
+ }
+ },
+ "replicationStatus": {
+ "description": "Replication status",
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean",
+ "description": "Replication health check"
+ },
+ "relationshipStatus": {
+ "type": "string",
+ "description": "Status of the mirror relationship",
+ "enum": [
+ "Idle",
+ "Transferring"
+ ],
+ "x-ms-enum": {
+ "name": "RelationshipStatus",
+ "modelAsString": true
+ }
+ },
+ "mirrorState": {
+ "type": "string",
+ "description": "The status of the replication",
+ "enum": [
+ "Uninitialized",
+ "Mirrored",
+ "Broken"
+ ],
+ "x-ms-enum": {
+ "name": "MirrorState",
+ "modelAsString": true
+ }
+ },
+ "totalProgress": {
+ "type": "string",
+ "description": "The progress of the replication"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Displays error message if the replication is in an error state"
+ }
+ }
+ },
+ "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"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "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"
+ }
+ }
+ },
+ "authorizeRequest": {
+ "description": "Authorize request",
+ "type": "object",
+ "properties": {
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "Resource id"
+ }
+ }
+ }
+ },
+ "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-10-01"
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md
index 3560088fb6e9..fbe9dad21c96 100644
--- a/specification/netapp/resource-manager/readme.go.md
+++ b/specification/netapp/resource-manager/readme.go.md
@@ -13,12 +13,32 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-netapp-2019-10-01
+ - tag: package-netapp-2019-08-01
- 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-10-01 and go
+
+These settings apply only when `--tag=package-netapp-2019-10-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-10-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
+### Tag: package-netapp-2019-08-01 and go
+
+These settings apply only when `--tag=package-netapp-2019-08-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-08-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-08-01/$(namespace)
+```
+
### 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.
diff --git a/specification/netapp/resource-manager/readme.java.md b/specification/netapp/resource-manager/readme.java.md
index b7ed1d61a3de..c6c75c0a4e27 100644
--- a/specification/netapp/resource-manager/readme.java.md
+++ b/specification/netapp/resource-manager/readme.java.md
@@ -16,12 +16,40 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-netapp-2019-10-01
+ - tag: package-netapp-2019-08-01
- 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-10-01 and java
+
+These settings apply only when `--tag=package-netapp-2019-10-01 --java` is specified on the command line.
+Please also specify the `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-10-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.netapp.v2019_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2019_10_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-netapp-2019-08-01 and java
+
+These settings apply only when `--tag=package-netapp-2019-08-01 --java` is specified on the command line.
+Please also specify the `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-netapp-2019-08-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.netapp.v2019_08_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2019_08_01
+regenerate-manager: true
+generate-interface: true
+```
+
### 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.
@@ -30,7 +58,7 @@ Please also specify the `--azure-libraries-for-java-folder=://:."
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendPortPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frontend port."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the FirewallPolicy resource."
+ },
+ "hostnames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Host names for HTTP Listener that allows special wildcard characters as well."
+ }
+ },
+ "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": {
+ "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": "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the path rule resource."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the FirewallPolicy 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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "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": "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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-09-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..d8178ed302da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/applicationSecurityGroup.json
@@ -0,0 +1,406 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/availableDelegations.json
new file mode 100644
index 000000000000..6ed829e3f83c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/availableDelegations.json
@@ -0,0 +1,178 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/availableServiceAliases.json
new file mode 100644
index 000000000000..44c1115ca02b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/availableServiceAliases.json
@@ -0,0 +1,171 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/azureFirewall.json
new file mode 100644
index 000000000000..c9d60cde52f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/azureFirewall.json
@@ -0,0 +1,1021 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Firewall": {
+ "$ref": "./examples/AzureFirewallGet.json"
+ },
+ "Get Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallGetWithZones.json"
+ },
+ "Get Azure Firewall With Additional Properties": {
+ "$ref": "./examples/AzureFirewallGetWithAdditionalProperties.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ },
+ "Create Azure Firewall With Additional Properties": {
+ "$ref": "./examples/AzureFirewallPutWithAdditionalProperties.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 of 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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update azure firewall 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 AzureFirewall resource.",
+ "schema": {
+ "$ref": "#/definitions/AzureFirewall"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Azure Firewall Tags": {
+ "$ref": "./examples/AzureFirewallUpdateTags.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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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"
+ },
+ "additionalProperties": {
+ "$ref": "#/definitions/AzureFirewallAdditionalProperties",
+ "description": "The additional properties used to further config this azure firewall."
+ }
+ },
+ "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
+ }
+ },
+ "AzureFirewallAdditionalProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The additional properties of azure firewall."
+ },
+ "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": {
+ "readOnly": true,
+ "$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"
+ }
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups 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": {
+ "readOnly": true,
+ "$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."
+ },
+ "translatedFqdn": {
+ "type": "string",
+ "description": "The translated FQDN for this NAT rule."
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups for this rule.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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"
+ }
+ },
+ "destinationFqdns": {
+ "type": "array",
+ "description": "List of destination FQDNs.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationIpGroups": {
+ "type": "array",
+ "description": "List of destination IpGroups for this rule.",
+ "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-09-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..826df81efc56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/azureFirewallFqdnTag.json
@@ -0,0 +1,130 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/bastionHost.json
new file mode 100644
index 000000000000..c41f80769e1a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/bastionHost.json
@@ -0,0 +1,409 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-09-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..30dad55ccfd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/checkDnsAvailability.json
@@ -0,0 +1,96 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..8f18dad16f88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ddosCustomPolicy.json
@@ -0,0 +1,364 @@
+{
+ "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-09-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": "./network.json#/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": "./network.json#/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": "./network.json#/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 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": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..5b4074ee079c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json
@@ -0,0 +1,436 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/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 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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/endpointService.json
new file mode 100644
index 000000000000..b7c0177a4bc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/endpointService.json
@@ -0,0 +1,119 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..e9835a387885
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Accept-Charset"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..8df767362c21
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..ae18d2f2a75d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "request_query"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..a975e17deefa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..c57127338544
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..12f7cae8dd69
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..80319aa0bdbf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..06d99d87c503
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayBackendHealthTest.json
new file mode 100644
index 000000000000..7e397bfb169b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayBackendHealthTest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..5db73aa1bb74
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,734 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..c37f0cd27c29
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..f1ad00cb8426
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..50b9b5e641b1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..14cd67fc06ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..f8cb711cfe04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..f8cb711cfe04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..5dd4209d9c35
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..06e7b3062c25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..11cf7001de10
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..47360cf14dd7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..4d9033da3f97
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..482765498a29
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..cd5099aa9ae0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AutoApprovedPrivateLinkServicesGet.json
new file mode 100644
index 000000000000..1c2307a89538
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AutoApprovedPrivateLinkServicesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
new file mode 100644
index 000000000000..c88e9083c81a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..7b0a8665c600
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..28cca3904152
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailablePrivateEndpointTypesGet.json
new file mode 100644
index 000000000000..6c7113a3ad0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailablePrivateEndpointTypesGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
new file mode 100644
index 000000000000..5fc2c19326c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableServiceAliasesList.json
new file mode 100644
index 000000000000..4f4a916815cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableServiceAliasesList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableServiceAliasesListByResourceGroup.json
new file mode 100644
index 000000000000..4f9f24e4d944
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AvailableServiceAliasesListByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..07361cddd255
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..1a970261a960
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..62df8a96d76f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGet.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithAdditionalProperties.json
new file mode 100644
index 000000000000..ce99ff9b08f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithAdditionalProperties.json
@@ -0,0 +1,179 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithZones.json
new file mode 100644
index 000000000000..27a47d7d27fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallGetWithZones.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..db50d51f4c18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,178 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..d97ba6774d0a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..df53e54cfdbb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPut.json
@@ -0,0 +1,496 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutInHub.json
new file mode 100644
index 000000000000..1ce7938e2cf9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutInHub.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithAdditionalProperties.json
new file mode 100644
index 000000000000..77dd548bbe9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithAdditionalProperties.json
@@ -0,0 +1,506 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithZones.json
new file mode 100644
index 000000000000..661caaaf2b82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallPutWithZones.json
@@ -0,0 +1,508 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallUpdateTags.json
new file mode 100644
index 000000000000..0a0b1c451ddb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/AzureFirewallUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "azfwtest",
+ "azureFirewallName": "fw1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "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-09-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostDelete.json
new file mode 100644
index 000000000000..7ff0942b0596
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostGet.json
new file mode 100644
index 000000000000..9061bf2f88a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostListByResourceGroup.json
new file mode 100644
index 000000000000..c66144432ebe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostListBySubscription.json
new file mode 100644
index 000000000000..00d8874caa25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostPut.json
new file mode 100644
index 000000000000..9aeb4b65e6fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/BastionHostPut.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..4c9bac8ae545
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "domainNameLabel": "testdns"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json
new file mode 100644
index 000000000000..c310e51407ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
new file mode 100644
index 000000000000..85cc866a1fc2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..aebbf34f88ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..a84807c3d695
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..adf1072bb619
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..4c29efc503fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..ab2aac46ca94
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..6c3f63b3405c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..50902151f345
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..9660d2ec8826
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..3e0ca36f4220
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanUpdateTags.json
new file mode 100644
index 000000000000..1bfab44e97a7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DdosProtectionPlanUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..15100ceea063
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..2826bc8e87db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..1ce7ca957034
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..7f4791b7b98a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..2410e6009f6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "authorizationName": "authorizatinName",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "authorizationParameters": {
+ "properties": {}
+ }
+ },
+ "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-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..bceb1462d3f6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..b855c037ffba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..79ed85dc5b8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..26726173b436
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..4c64e0aa2587
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..4cd04decb138
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..d63a7a72362e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..7349bb74fe44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..e467d2b99f49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..2802cd5e2001
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..1fe89c3d8a58
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..a90e90d8e1d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..66e8b4b81fa8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..4ab42b42d7a9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "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-09-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..9b03410fdbb7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..9d8ab814f0c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..4ef4b440c4a7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..e7a1c0b6ae1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..f1138f1c84d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..47dbccf2f4e2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..0cd327bbf950
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..6317365d2370
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..af3e8062a51f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..49859bfd1be5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..022398acf83a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..e73269b097b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..7e69eea209ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..70e2eab0f30d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..daf22f8bc554
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..1dbe04b4944c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..97caa5569e33
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..6035db8a0c39
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..1e963bb2bfd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..b40447eb7465
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..e024e97044e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..b135409a910f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..3aef00096b3c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..e3766da93c72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..6ce55e0b3c98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..0721c3735797
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..a98db8230c41
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..bc1bf2084be6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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,
+ "enableInternetSecurity": false
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..a6cd946dbe2e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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,
+ "enableInternetSecurity": false
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..3c781c9f11ab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..15c4ffaf7306
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..eee116e4bc2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..d3103ff2ba31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..19f409b58915
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..e51b5ac2de8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..92bf42bf00d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..91f998e4e73a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..8412fc3e4b37
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..1c1b943f19cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..e5136bad59a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-09-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-09-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..360eef0b2e48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyDelete.json
new file mode 100644
index 000000000000..dccd90ae83a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyGet.json
new file mode 100644
index 000000000000..58f1335de444
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyListByResourceGroup.json
new file mode 100644
index 000000000000..83e62d6159ab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyListByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyListBySubscription.json
new file mode 100644
index 000000000000..0f2ac02e1b77
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyListBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyPut.json
new file mode 100644
index 000000000000..65e8de5d0e87
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyPut.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyRuleGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupDelete.json
new file mode 100644
index 000000000000..050b78a9569e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupGet.json
new file mode 100644
index 000000000000..819e59deadd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyRuleGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupList.json
new file mode 100644
index 000000000000..af79746ff019
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/FirewallPolicyRuleGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupPut.json
new file mode 100644
index 000000000000..b580a589dbd1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/FirewallPolicyRuleGroupPut.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
new file mode 100644
index 000000000000..7298dc446811
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/GetVirtualWanVpnServerConfigurations.json
new file mode 100644
index 000000000000..96bf71a1197d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/GetVirtualWanVpnServerConfigurations.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..7c2f6db933fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..2680f2fcf663
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..9f3c3f9cf936
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..56a18415883e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..d59ab5388480
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..6ccf2536ea91
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsCreate.json
new file mode 100644
index 000000000000..f80dac4b540a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsCreate.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsDelete.json
new file mode 100644
index 000000000000..2a2ad8e27326
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsGet.json
new file mode 100644
index 000000000000..daba5879653c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..4c238250f053
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ },
+ {
+ "name": "ipGroups2",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "14.64.39.16/32",
+ "41.74.146.80/31",
+ "42.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListBySubscription.json
new file mode 100644
index 000000000000..a777e8fb4730
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "iptag1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup1/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ },
+ {
+ "name": "iptag2",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup2/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "14.64.39.16/32",
+ "41.74.146.80/31",
+ "42.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsUpdateTags.json
new file mode 100644
index 000000000000..877535a29646
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/IpGroupsUpdateTags.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "ipGroupsName": "ipGroups1",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "parameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..a7e06554530d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..8aeb5d78c164
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..1ba1efb72f68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..fa7b4d72a0c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..66675c084979
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "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-09-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithOutboundRules.json
new file mode 100644
index 000000000000..e8ce9155ada2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithOutboundRules.json
@@ -0,0 +1,423 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..46a399f570d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,348 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..9556d26952ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..193cd6020c02
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..36a7fe56dd22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..8e54cccac5cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerGet.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..9aebde747776
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..6a3dbdcb10f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..a776845889e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..fe176e06d0bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..fd6763f9c10e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..dc8825f97056
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..37e3ab17b25e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..56f6be71a623
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..e5e8ca10757f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..12cc1b95b865
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-09-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-09-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..532172bb188c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..ab8836553d23
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..baee9dbbcac0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..660d5a2375ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..4ec2f5256d2c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..5276850c8983
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayCreateOrUpdate.json
new file mode 100644
index 000000000000..f9f43f38c70e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayCreateOrUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayDelete.json
new file mode 100644
index 000000000000..6c75d97c97a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayGet.json
new file mode 100644
index 000000000000..66726298cac4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayList.json
new file mode 100644
index 000000000000..842c0ae37731
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayListAll.json
new file mode 100644
index 000000000000..4650b9440059
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayListAll.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayUpdateTags.json
new file mode 100644
index 000000000000..7caafaabfed6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NatGatewayUpdateTags.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..bf7e5dab925a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..4038c3ed3035
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..90faa0c84f82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..0b1fef48de38
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..0ca65d185b51
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..bb28904402f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..9560724ebefc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..fb2badacf2b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..d8cb17151a46
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..53cd69fc3762
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..6345d57efce5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..df1ded8b06fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..e69cca0c8d48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..a497060822db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..8a20d7024b18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..8ad05f629147
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..932360d135fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..d70d9ac045e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..c81efdc305ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..f373063e3559
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..5b578e9daf90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..fa9c6d9b0590
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..d45d92bda50a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..b77784acce51
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..86ba72fe3224
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..3e22d837c85e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..9c7ad5e74d7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..1d53b66d7b9b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..81631f0dbd88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..ecb20099fc53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..ac8943a743d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..46404cfa4de7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..58ce71f7b8ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..80119a6fb4df
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..bda4522ad3dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..264b968b0572
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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
+ },
+ "preferredIPVersion": "IPv4"
+ }
+ },
+ "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-09-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..7194440bcd6d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..688b65a084fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..4bc53be3ed28
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..7940740b4519
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..1d0ae9292047
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..50bb5c589993
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..36dab0b593da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..13df5531a1bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..d1bb85091484
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..b6d58ec3715c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..b1171abaf5f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..755492bb0d3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..87061f055db3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..8a39ae32bb84
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..2b7ab88ac486
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..cb27ab11b458
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..a45ae33f370a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..76ebc9b78dcb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..7aa23188c771
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..02049cbf275f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..a632f2cefca6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/OperationList.json
new file mode 100644
index 000000000000..5c491c3c79f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..dbd87ee49354
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..ad98d9455ee1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..7361982d641b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGetConnectionHealth.json
new file mode 100644
index 000000000000..f7aa7a526554
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGetConnectionHealth.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
new file mode 100644
index 000000000000..9a4f1e6c9fc4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "p2s-vpn-gateway-test",
+ "gatewayName": "p2svpngateway",
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..b1c3a8f99a98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..382ee95cf6b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..7d6f473cc399
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..8b9b3eac59c9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PeerExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..f3c647e1a326
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PeerExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PeerExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..e3135b8744f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PeerExpressRouteCircuitConnectionList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointCreate.json
new file mode 100644
index 000000000000..1b984ae021ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-09-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointCreateForManualApproval.json
new file mode 100644
index 000000000000..e9e1a14ddbfc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointCreateForManualApproval.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-09-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointDelete.json
new file mode 100644
index 000000000000..7af77ac72b60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointGet.json
new file mode 100644
index 000000000000..87b0dc28ad83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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-09-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointGetForManualApproval.json
new file mode 100644
index 000000000000..def6fd5da30a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointGetForManualApproval.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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-09-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointList.json
new file mode 100644
index 000000000000..a670b60354ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-09-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointListAll.json
new file mode 100644
index 000000000000..2d2cd4096c73
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateEndpointListAll.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-09-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceCreate.json
new file mode 100644
index 000000000000..e9e9eb2b8b5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceDelete.json
new file mode 100644
index 000000000000..00157fcba8b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..fb56bee1ce4f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceGet.json
new file mode 100644
index 000000000000..125070d91dce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceGet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..63e8f7d6016d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "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-09-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceList.json
new file mode 100644
index 000000000000..055340f80dd8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceList.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceListAll.json
new file mode 100644
index 000000000000..3c735de83fb6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceListAll.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json
new file mode 100644
index 000000000000..6813b31c9645
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPlePeConnection1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ },
+ {
+ "name": "testPlePeConnection2",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "rejected by some reason."
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..db79ba568b11
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..8a52102537ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..f30084270744
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..994817d53108
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..604078884c6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..1591cb1d787b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..c6c59d9e9ddf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..601f5a336a2d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..61595bdef1b6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..461a8d329094
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..f1ad7fcda13a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..5be1c8b34039
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..4351b5be6224
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..8c4e3df9be28
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..c036566d9e98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..35e89528c878
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..65035733ccc6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterCreate.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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-09-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..916039501099
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..0b9b47bb99d5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..745cbbca5314
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..315228b013b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..caff4af05a2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..30a46696adfa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..e8767a5a5829
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..362cd25fe230
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterUpdateTags.json
new file mode 100644
index 000000000000..b730756f8225
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteFilterUpdateTags.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "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-09-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..c3012389c2b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..b1be4c906032
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..c61fb74ef36b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..8ef6d7d678f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..982716633afb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..9526969b53f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..b7cb7061c539
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..768a735fdf8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..8ddf96c12221
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..f758c21aa339
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..14e38e52441c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..f9ed67a51a2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..cccd9a4fab94
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..2c6b7de0a417
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..66a594d71809
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..d6c45d1e1dfb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..7097a6fb881b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..bd37651a6dfc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..e735f4e3e44b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..ce1448986098
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..ba4385606d04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..5959b08bb4ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..d0a55cbd1e86
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceTagsList.json
new file mode 100644
index 000000000000..ca7e1cb14b71
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/ServiceTagsList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..e840d254f39f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..281059ddf781
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..d015f8e89d7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..1c4ead0a2077
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..ee83a8d37957
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..92a3dd2785ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetList.json
new file mode 100644
index 000000000000..685dfdbc7969
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-09-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-09-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetPrepareNetworkPolicies.json
new file mode 100644
index 000000000000..13e85d5697fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetPrepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetUnprepareNetworkPolicies.json
new file mode 100644
index 000000000000..b3d017cac7d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/SubnetUnprepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/UsageList.json
new file mode 100644
index 000000000000..cb9e7bad6ca9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-09-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-09-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..e7c3f3fd4e30
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2019-09-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-09-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..6e9872315531
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..77325c83512b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..e556dd268330
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubList.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ },
+ {
+ "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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..4d9f1e6638da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ },
+ {
+ "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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..b1fc29784013
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubPut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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",
+ "sku": "Basic"
+ }
+ }
+ },
+ "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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ },
+ "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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Delete.json
new file mode 100644
index 000000000000..09e11ee31df2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Get.json
new file mode 100644
index 000000000000..17bf08b6be53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2List.json
new file mode 100644
index 000000000000..b735523b8756
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2List.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "virtualHubRouteTable1a",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ },
+ {
+ "name": "virtualHubRouteTable1b",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1b",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.30.0.0/16",
+ "20.40.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Branches"
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Put.json
new file mode 100644
index 000000000000..92ea32e12e24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubRouteTableV2Put.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1",
+ "virtualHubRouteTableV2Parameters": {
+ "properties": {
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..eee51c8047b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..05f9c9ec174a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..e4ee4baf2e04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..a527c4f045fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..01698a436106
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..958500670968
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..ba5335328a27
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..79493491c1ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json
new file mode 100644
index 000000000000..06a2511ee371
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..827e91765845
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..73ba7736f9d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ },
+ "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-09-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..4ed50e2e4a56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "conn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..636a762c5188
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..c8debd3b97da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..b9d9eb448a19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..cdf93f05fe87
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
new file mode 100644
index 000000000000..e2ed9b1c6bfa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..f612540de350
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
new file mode 100644
index 000000000000..4cc930c5a748
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..43c64336f51b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..f92a3dd92809
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..e827f19996b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..3394d0c76f8a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..fd26573e544e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..d471ad839a31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..5f08b1796cd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "peer": "test"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..1521bc83b7fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..086eba04eb2f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..d55c43f25a7c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
new file mode 100644
index 000000000000..94b3bcd8fa24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "p2s-vnet-test",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..1521bc83b7fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..3b3ba1bc3353
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..970bdd74c717
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..8877237a810a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..f5ba2acb7a5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json
new file mode 100644
index 000000000000..37041436498d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..973824923702
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json
new file mode 100644
index 000000000000..88f123db4cc0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..3c55bd535258
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..517d522e5077
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..55e427627b4b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..8d3c0dcc092a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..44765d82901e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..17f36ec8245e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json
new file mode 100644
index 000000000000..29236f9472a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json
new file mode 100644
index 000000000000..bbe3497749b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..10d10023f877
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..ad1ba108add2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..3364186591ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..e5bb74ec1704
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..717bfc73198e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..0fda29a99345
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..b96796494bd6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..b909ea4a4020
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..0b16a7c4e0cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..4fa16db4f67f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..ea94bf00ff45
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..6105b83a643e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..9841382755fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..cbb6bbd1c2a7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..5f9b039c2a3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..f1fd94d21bc0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterDelete.json
new file mode 100644
index 000000000000..8762723c8902
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterGet.json
new file mode 100644
index 000000000000..25128f5d7578
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterListByResourceGroup.json
new file mode 100644
index 000000000000..6cc0ff854c2f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterListByResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterListBySubscription.json
new file mode 100644
index 000000000000..b6e5e418d8c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterListBySubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringDelete.json
new file mode 100644
index 000000000000..afb91e0b583f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringGet.json
new file mode 100644
index 000000000000..124abfe36f40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringList.json
new file mode 100644
index 000000000000..c44ca0179aa3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringPut.json
new file mode 100644
index 000000000000..4b2f19148424
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPeeringPut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPut.json
new file mode 100644
index 000000000000..ebe5f9e352c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualRouterPut.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..d225b30f0861
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..1adc988979c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..a7781780eb31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ ],
+ "type": "Basic"
+ }
+ },
+ {
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..1d920660c18f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ ],
+ "type": "Basic"
+ }
+ },
+ {
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..6a928e47b7fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANPut.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "disableVpnEncryption": false,
+ "type": "Basic"
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..857de6bf4929
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..1ca47b5981f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..146f80e3d7f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..5b7c23b7b56b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..e14de4e82a72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..0ec937148391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..229c15712a0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..605e0b831869
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e4f1cbf14ebf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..d21f5d40ed03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-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-09-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..da9d47135e4c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..4812ae033ea5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..58487fe0028c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionList.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-09-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-09-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..1d30aa249195
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnConnectionPut.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..ffc2b0522fe3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..0bc5f146b351
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayGet.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..a53e72f9c696
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..a53e72f9c696
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..51430d5aa3ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayPut.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayReset.json
new file mode 100644
index 000000000000..296277e50ab8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayReset.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "vpngw",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..556a0ac2dab5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..1c397f0c73ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationGet.json
new file mode 100644
index 000000000000..7dc0277277b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationList.json
new file mode 100644
index 000000000000..397c11debb69
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationList.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationListByResourceGroup.json
new file mode 100644
index 000000000000..a293c4ee057a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationListByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationPut.json
new file mode 100644
index 000000000000..2ff095c2abab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationPut.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationUpdateTags.json
new file mode 100644
index 000000000000..b0bc00b3a906
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnServerConfigurationUpdateTags.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..14d8839c9660
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..1c0639e2ab60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkConnectionGet.json
new file mode 100644
index 000000000000..085a25e4b534
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkConnectionGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "linkConnectionName": "Connection-Link1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkConnectionList.json
new file mode 100644
index 000000000000..eac7884d7ae8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkConnectionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-09-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-09-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkGet.json
new file mode 100644
index 000000000000..3189abe42cd1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "vpnSiteLinkName": "vpnSiteLink1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkListByVpnSite.json
new file mode 100644
index 000000000000..44867d017701
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteLinkListByVpnSite.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..7cd0e48a84c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..893267967f1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..f13404305d15
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSitePut.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..4c7faeab8990
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..d9ec11c165e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-09-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-09-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafListAllPolicies.json
new file mode 100644
index 000000000000..4cedb187dfdf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafListAllPolicies.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafListPolicies.json
new file mode 100644
index 000000000000..7ac560957983
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafListPolicies.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..b479fb18ff96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,258 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..ee865efe9dcb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..d9d2dbfaf8e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/WafPolicyGet.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2019-09-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-09-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..84c3f2ab7a88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteCircuit.json
@@ -0,0 +1,2489 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Express Route Circuit Tags": {
+ "$ref": "./examples/ExpressRouteCircuitUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-09-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..433c68c6bf9d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteCrossConnection.json
@@ -0,0 +1,1006 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnectionTags": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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-09-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteGateway.json
new file mode 100644
index 000000000000..0f1b6d73b341
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRouteGateway.json
@@ -0,0 +1,700 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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."
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security."
+ }
+ },
+ "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-09-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRoutePort.json
new file mode 100644
index 000000000000..5b7472cc149b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/expressRoutePort.json
@@ -0,0 +1,869 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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-09-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/firewallPolicy.json
new file mode 100644
index 000000000000..2a520178b4ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/firewallPolicy.json
@@ -0,0 +1,982 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyGet.json"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-09-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ipGroups.json
new file mode 100644
index 000000000000..4159c5aa0869
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/ipGroups.json
@@ -0,0 +1,422 @@
+{
+ "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-09-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/ipGroups/{ipGroupsName}": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_Get",
+ "description": "Gets the specified ipGroups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting IpGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get_IpGroups": {
+ "$ref": "./examples/IpGroupsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_CreateOrUpdate",
+ "description": "Creates or updates an ipGroups in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ },
+ "description": "Parameters supplied to the create or update IpGroups operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected 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": {
+ "CreateOrUpdate_IpGroups": {
+ "$ref": "./examples/IpGroupsCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_UpdateGroups",
+ "description": "Updates tags of an IpGroups resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update ipGroups operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update_IpGroups": {
+ "$ref": "./examples/IpGroupsUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_Delete",
+ "description": "Deletes the specified ipGroups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete_IpGroups": {
+ "$ref": "./examples/IpGroupsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_ListByResourceGroup",
+ "description": "Gets all IpGroups 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 ipGroups resources.",
+ "schema": {
+ "$ref": "#/definitions/IpGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListByResourceGroup_IpGroups": {
+ "$ref": "./examples/IpGroupsListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_List",
+ "description": "Gets all IpGroups 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 ipGroups resources.",
+ "schema": {
+ "$ref": "#/definitions/IpGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List_IpGroups": {
+ "$ref": "./examples/IpGroupsListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "IpGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IpGroupPropertiesFormat",
+ "description": "Properties of the IpGroups."
+ },
+ "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": "The IpGroups resource information."
+ },
+ "IpGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpGroup"
+ },
+ "description": "The list of IpGroups information resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListIpGroups API service call."
+ },
+ "IpGroupPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IpGroups resource.",
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource."
+ },
+ "firewalls": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Azure resources that this IpGroups is associated with.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ }
+ },
+ "description": "The IpGroups property information."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/loadBalancer.json
new file mode 100644
index 000000000000..bceace8757db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/loadBalancer.json
@@ -0,0 +1,2058 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update load balancer tags": {
+ "$ref": "./examples/LoadBalancerUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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."
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the load balancer resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/natGateway.json
new file mode 100644
index 000000000000..ca5b4d447d14
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/natGateway.json
@@ -0,0 +1,472 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the NAT gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/network.json
new file mode 100644
index 000000000000..b0362f2d62fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/network.json
@@ -0,0 +1,335 @@
+{
+ "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-09-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."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the 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 service."
+ },
+ "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-09-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkInterface.json
new file mode 100644
index 000000000000..fb2beef41b21
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkInterface.json
@@ -0,0 +1,1522 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network interface tags": {
+ "$ref": "./examples/NetworkInterfaceUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network."
+ },
+ "internalDomainNameSuffix": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The MAC address of the network interface."
+ },
+ "primary": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkProfile.json
new file mode 100644
index 000000000000..031d8c6d7c22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkProfile.json
@@ -0,0 +1,622 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network profile tags": {
+ "$ref": "./examples/NetworkProfileUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group network profiles": {
+ "$ref": "./examples/NetworkProfileList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkProfilePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaces": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-09-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..98f7c6e6750b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json
@@ -0,0 +1,974 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network security group tags": {
+ "$ref": "./examples/NetworkSecurityGroupUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network security group resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkWatcher.json
new file mode 100644
index 000000000000..9db759531fc4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/networkWatcher.json
@@ -0,0 +1,3059 @@
+{
+ "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-09-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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "type": "string",
+ "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": {
+ "readOnly": true,
+ "$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."
+ },
+ "preferredIPVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Preferred IP version of the connection."
+ }
+ }
+ },
+ "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 '*' and a single port in the range (0 - 65535)."
+ }
+ }
+ },
+ "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-09-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/operation.json
new file mode 100644
index 000000000000..c219a37f1d0a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/operation.json
@@ -0,0 +1,271 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateEndpoint.json
new file mode 100644
index 000000000000..abf76116e775
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateEndpoint.json
@@ -0,0 +1,572 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-09-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json
new file mode 100644
index 000000000000..19096cbeeece
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json
@@ -0,0 +1,1068 @@
+{
+ "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-09-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}": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_GetPrivateEndpointConnection",
+ "description": "Get the specific private end point connection by specific private link service in the 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": "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"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting private end point connection resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private end point connection": {
+ "$ref": "./examples/PrivateLinkServiceGetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListPrivateEndpointConnections",
+ "description": "Gets all private end point connections for a specific 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": {
+ "200": {
+ "description": "Request successful. The operation returns a list of private end point connection resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private link service in resource group": {
+ "$ref": "./examples/PrivateLinkServiceListPrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service resource."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "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."
+ },
+ "enableProxyProtocol": {
+ "type": "boolean",
+ "description": "Whether the private link service is enabled for proxy protocol or not."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ },
+ "linkIdentifier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The consumer link id."
+ }
+ },
+ "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."
+ },
+ "actionsRequired": {
+ "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."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "A list of PrivateEndpointConnection resources for a specific private link service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateEndpointConnection 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-09-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/publicIpAddress.json
new file mode 100644
index 000000000000..0a756e1265d5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/publicIpAddress.json
@@ -0,0 +1,540 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP address tags": {
+ "$ref": "./examples/PublicIpAddressUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the public IP address resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/publicIpPrefix.json
new file mode 100644
index 000000000000..b95ca9805d90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/publicIpPrefix.json
@@ -0,0 +1,485 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP prefix tags": {
+ "$ref": "./examples/PublicIpPrefixUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The allocated Prefix."
+ },
+ "publicIPAddresses": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/routeFilter.json
new file mode 100644
index 000000000000..a0258c488cfa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/routeFilter.json
@@ -0,0 +1,822 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_UpdateTags",
+ "description": "Updates tags of 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": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update route filter tags."
+ },
+ {
+ "$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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route filter tags": {
+ "$ref": "./examples/RouteFilterUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit peerings."
+ },
+ "ipv6Peerings": {
+ "readOnly": true,
+ "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-09-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/routeTable.json
new file mode 100644
index 000000000000..f73ce6564550
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/routeTable.json
@@ -0,0 +1,755 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route table tags": {
+ "$ref": "./examples/RouteTableUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-09-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceCommunity.json
new file mode 100644
index 000000000000..cae2824c480b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceCommunity.json
@@ -0,0 +1,158 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..3d95d4f88572
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceEndpointPolicy.json
@@ -0,0 +1,742 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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_UpdateTags",
+ "description": "Updates tags of a 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": "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update service endpoint policy tags": {
+ "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-09-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceTags.json
new file mode 100644
index 000000000000..925d3dffa54a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/serviceTags.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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/usage.json
new file mode 100644
index 000000000000..77ba826df8c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/usage.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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetwork.json
new file mode 100644
index 000000000000..1b68547720f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetwork.json
@@ -0,0 +1,1951 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "An array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resourceGuid property of the Virtual Network resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-09-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..d472ed6e1f4b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetworkGateway.json
@@ -0,0 +1,3561 @@
+{
+ "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-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateLocalNetworkGatewayTags": {
+ "$ref": "./examples/LocalNetworkGatewayUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-09-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..f1b58db417b1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualNetworkTap.json
@@ -0,0 +1,426 @@
+{
+ "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-09-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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update virtual network tap tags": {
+ "$ref": "./examples/VirtualNetworkTapUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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-09-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualRouter.json
new file mode 100644
index 000000000000..879c68c40ae2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualRouter.json
@@ -0,0 +1,698 @@
+{
+ "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-09-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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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": "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": 0,
+ "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": "Name of the virtual router peering that is unique within a virtual router."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "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": 0,
+ "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-09-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualWan.json
new file mode 100644
index 000000000000..4bfc38ef53a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/virtualWan.json
@@ -0,0 +1,4529 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2019-09-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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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/{virtualHubName}/routeTables/{routeTableName}": {
+ "get": {
+ "operationId": "VirtualHubRouteTableV2s_Get",
+ "x-ms-examples": {
+ "VirtualHubVirtualHubRouteTableV2Get": {
+ "$ref": "./examples/VirtualHubRouteTableV2Get.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualHubRouteTableV2.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHubRouteTableV2."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualHubRouteTableV2s_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2Put": {
+ "$ref": "./examples/VirtualHubRouteTableV2Put.json"
+ }
+ },
+ "description": "Creates a VirtualHubRouteTableV2 resource if it doesn't exist else updates the existing VirtualHubRouteTableV2.",
+ "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": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubRouteTableV2Parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ },
+ "description": "Parameters supplied to create or update VirtualHubRouteTableV2."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHubRouteTableV2 created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "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": "VirtualHubRouteTableV2s_Delete",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2Delete": {
+ "$ref": "./examples/VirtualHubRouteTableV2Delete.json"
+ }
+ },
+ "description": "Deletes a VirtualHubRouteTableV2.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHubRouteTableV2."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualHubRouteTableV2 deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualHubRouteTableV2 deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualHubRouteTableV2s 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/{virtualHubName}/routeTables": {
+ "get": {
+ "operationId": "VirtualHubRouteTableV2s_List",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2List": {
+ "$ref": "./examples/VirtualHubRouteTableV2List.json"
+ }
+ },
+ "description": "Retrieves the details of all VirtualHubRouteTableV2s.",
+ "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 VirtualHubRouteTableV2s for the VirtualHub.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubRouteTableV2sResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual WAN resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the VirtualWAN."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual hub resource."
+ },
+ "securityProviderName": {
+ "type": "string",
+ "description": "The Security Provider name."
+ },
+ "virtualHubRouteTableV2s": {
+ "type": "array",
+ "description": "List of all virtual hub route table v2s associated with this VirtualHub.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "sku": {
+ "type": "string",
+ "description": "The sku of this VirtualHub."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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."
+ },
+ "vpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate"
+ },
+ "description": "VPN client root certificate of VpnServerConfiguration."
+ },
+ "vpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate"
+ },
+ "description": "VPN client revoked certificate of VpnServerConfiguration."
+ },
+ "radiusServerRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate"
+ },
+ "description": "Radius Server root certificate of VpnServerConfiguration."
+ },
+ "radiusClientRootCertificates": {
+ "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": {
+ "readOnly": true,
+ "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": "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": {
+ "readOnly": true,
+ "$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": "./network.json#/definitions/SubResource",
+ "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": {
+ "readOnly": true,
+ "$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."
+ },
+ "VirtualHubRouteTableV2Properties": {
+ "properties": {
+ "routes": {
+ "type": "array",
+ "description": "List of all routes.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteV2"
+ }
+ },
+ "attachedConnections": {
+ "type": "array",
+ "description": "List of all connections attached to this route table v2.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "readOnly": true,
+ "description": "The provisioning state of the virtual hub route table v2 resource."
+ }
+ },
+ "description": "Parameters for VirtualHubRouteTableV2."
+ },
+ "VirtualHubRouteTableV2": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualHubRouteTableV2Properties",
+ "description": "Properties of the virtual hub route table v2."
+ },
+ "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": "VirtualHubRouteTableV2 Resource."
+ },
+ "VirtualHubRouteV2": {
+ "properties": {
+ "destinationType": {
+ "type": "string",
+ "description": "The type of destinations."
+ },
+ "destinations": {
+ "type": "array",
+ "description": "List of all destinations.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of next hops."
+ },
+ "nextHops": {
+ "type": "array",
+ "description": "NextHops ip address.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "VirtualHubRouteTableV2 route."
+ },
+ "ListVirtualHubRouteTableV2sResult": {
+ "description": "List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ },
+ "description": "List of VirtualHubRouteTableV2s."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..89562aa3062c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json
@@ -0,0 +1,374 @@
+{
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-09-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..d100152e7711
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/vmssPublicIpAddress.json
@@ -0,0 +1,241 @@
+{
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json
new file mode 100644
index 000000000000..f01d6116c923
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json
@@ -0,0 +1,743 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-09-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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"
+ },
+ "httpListeners": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A collection of references to application gateway http listeners."
+ },
+ "pathBasedRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A collection of references to application gateway path rules."
+ }
+ }
+ },
+ "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",
+ "GeoMatch"
+ ],
+ "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/Microsoft.Network/stable/2019-11-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/applicationGateway.json
new file mode 100644
index 000000000000..6f11d92755cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/applicationGateway.json
@@ -0,0 +1,2843 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}": {
+ "delete": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Delete",
+ "x-ms-examples": {
+ "Delete ApplicationGateway": {
+ "$ref": "./examples/ApplicationGatewayDelete.json"
+ }
+ },
+ "description": "Deletes the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource with the specified name does not exist."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 to backend pool of application gateway to which probe request will be sent."
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to 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 to 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 to 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 to 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 to 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 to the subnet resource. A subnet from where application gateway gets its private address."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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 to the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the PublicIP resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "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": "Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendPortPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frontend port."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the FirewallPolicy resource."
+ },
+ "hostnames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Host names for HTTP Listener that allows special wildcard characters as well."
+ }
+ },
+ "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": {
+ "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": "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the path rule resource."
+ },
+ "firewallPolicy": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the FirewallPolicy 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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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."
+ },
+ "urlConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayUrlConfiguration",
+ "description": "Url Configuration Action 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."
+ },
+ "ApplicationGatewayUrlConfiguration": {
+ "properties": {
+ "modifiedPath": {
+ "type": "string",
+ "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null."
+ },
+ "modifiedQueryString": {
+ "type": "string",
+ "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null."
+ },
+ "reroute": {
+ "type": "boolean",
+ "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false."
+ }
+ },
+ "description": "Url 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": {
+ "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": "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 to 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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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-11-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..5712be3f192f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/applicationSecurityGroup.json
@@ -0,0 +1,406 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_Delete",
+ "description": "Deletes the specified application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/availableDelegations.json
new file mode 100644
index 000000000000..aa38d3537739
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/availableDelegations.json
@@ -0,0 +1,178 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations": {
+ "get": {
+ "operationId": "AvailableDelegations_List",
+ "description": "Gets all of the available subnet delegations for this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the subnet."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDelegationsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": "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-11-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/availableServiceAliases.json
new file mode 100644
index 000000000000..c91bf07a3812
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/availableServiceAliases.json
@@ -0,0 +1,171 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/azureFirewall.json
new file mode 100644
index 000000000000..f512999be627
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/azureFirewall.json
@@ -0,0 +1,1062 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}": {
+ "delete": {
+ "tags": [
+ "AzureFirewalls"
+ ],
+ "operationId": "AzureFirewalls_Delete",
+ "description": "Deletes the specified Azure Firewall.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "azureFirewallName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Firewall."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource with the specified name does not exist."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Firewall": {
+ "$ref": "./examples/AzureFirewallGet.json"
+ },
+ "Get Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallGetWithZones.json"
+ },
+ "Get Azure Firewall With management subnet": {
+ "$ref": "./examples/AzureFirewallGetWithMgmtSubnet.json"
+ },
+ "Get Azure Firewall With Additional Properties": {
+ "$ref": "./examples/AzureFirewallGetWithAdditionalProperties.json"
+ },
+ "Get Azure Firewall With IpGroups": {
+ "$ref": "./examples/AzureFirewallGetWithIpGroups.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Azure Firewall": {
+ "$ref": "./examples/AzureFirewallPut.json"
+ },
+ "Create Azure Firewall With Zones": {
+ "$ref": "./examples/AzureFirewallPutWithZones.json"
+ },
+ "Create Azure Firewall With management subnet": {
+ "$ref": "./examples/AzureFirewallPutWithMgmtSubnet.json"
+ },
+ "Create Azure Firewall in virtual Hub": {
+ "$ref": "./examples/AzureFirewallPutInHub.json"
+ },
+ "Create Azure Firewall With Additional Properties": {
+ "$ref": "./examples/AzureFirewallPutWithAdditionalProperties.json"
+ },
+ "Create Azure Firewall With IpGroups": {
+ "$ref": "./examples/AzureFirewallPutWithIpGroups.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 of 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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update azure firewall tags."
+ },
+ {
+ "$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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "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."
+ },
+ "AzureFirewallIpGroups": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource ID."
+ },
+ "changeNumber": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The iteration number."
+ }
+ },
+ "description": "IpGroups 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."
+ },
+ "IpGroups": {
+ "type": "array",
+ "description": "List of IpGroups associated with azure firewall.",
+ "items": {
+ "$ref": "#/definitions/AzureFirewallIpGroups"
+ }
+ },
+ "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."
+ },
+ "managementIpConfiguration": {
+ "$ref": "#/definitions/AzureFirewallIPConfiguration",
+ "description": "IP configuration of the Azure Firewall used for management traffic."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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"
+ },
+ "ipGroups": {
+ "readOnly": true,
+ "description": "IpGroups associated with AzureFirewall.",
+ "$ref": "#/definitions/IpGroups"
+ },
+ "sku": {
+ "description": "The Azure Firewall Resource SKU.",
+ "$ref": "#/definitions/AzureFirewallSku"
+ },
+ "additionalProperties": {
+ "$ref": "#/definitions/AzureFirewallAdditionalProperties",
+ "description": "The additional properties used to further config this azure firewall."
+ }
+ },
+ "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
+ }
+ },
+ "AzureFirewallAdditionalProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The additional properties of azure firewall."
+ },
+ "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": {
+ "readOnly": true,
+ "$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"
+ }
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups 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": {
+ "readOnly": true,
+ "$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."
+ },
+ "translatedFqdn": {
+ "type": "string",
+ "description": "The translated FQDN for this NAT rule."
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups for this rule.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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"
+ }
+ },
+ "destinationFqdns": {
+ "type": "array",
+ "description": "List of destination FQDNs.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sourceIpGroups": {
+ "type": "array",
+ "description": "List of source IpGroups for this rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "destinationIpGroups": {
+ "type": "array",
+ "description": "List of destination IpGroups for this rule.",
+ "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-11-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..a9a089ba3c63
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/azureFirewallFqdnTag.json
@@ -0,0 +1,130 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags": {
+ "get": {
+ "tags": [
+ "AzureFirewallFqdnTags"
+ ],
+ "operationId": "AzureFirewallFqdnTags_ListAll",
+ "description": "Gets all the Azure Firewall FQDN Tags in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/bastionHost.json
new file mode 100644
index 000000000000..879e776a3b0c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/bastionHost.json
@@ -0,0 +1,409 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 to the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the PublicIP resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-11-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..a0e528c48abd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/checkDnsAvailability.json
@@ -0,0 +1,96 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": {
+ "get": {
+ "operationId": "CheckDnsNameAvailability",
+ "description": "Checks whether a domain name in the cloudapp.azure.com zone is available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "domainNameLabel",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the DNS name is available.",
+ "schema": {
+ "$ref": "#/definitions/DnsNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..fe9e414ef428
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ddosCustomPolicy.json
@@ -0,0 +1,364 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}": {
+ "delete": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_Delete",
+ "description": "Deletes the specified DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/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": "./network.json#/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": "./network.json#/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 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": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..158ed491c800
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json
@@ -0,0 +1,436 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}": {
+ "delete": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_Delete",
+ "description": "Deletes the specified DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/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 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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/endpointService.json
new file mode 100644
index 000000000000..387963960011
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/endpointService.json
@@ -0,0 +1,119 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices": {
+ "get": {
+ "operationId": "AvailableEndpointServices_List",
+ "description": "List what values of endpoint services are available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location to check available endpoint services."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns list of available endpoint services.",
+ "schema": {
+ "$ref": "#/definitions/EndpointServicesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..5a730577c246
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Accept-Charset"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..ba4b6a3594a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..3d68823ba89a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "request_query"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..971a496dd651
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..f54efe0226f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..9f13b44e93ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..ed68c60b89e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "OWASP_3.0",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
+ "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0",
+ "ruleGroups": [
+ {
+ "ruleGroupName": "General",
+ "description": "",
+ "rules": [
+ {
+ "ruleId": 200004,
+ "description": "Possible Multipart Unmatched Boundary."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..2e8bd17eee08
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "appgw",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "backendAddressPools": [
+ {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHttpSettingsCollection": [
+ {
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ },
+ "servers": [
+ {
+ "address": "10.220.1.8",
+ "health": "Up"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFPool"
+ },
+ "backendHttpSettingsCollection": [
+ {
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ },
+ "servers": [
+ {
+ "address": "10.220.1.4",
+ "health": "Up"
+ },
+ {
+ "address": "10.220.1.5",
+ "health": "Up"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthTest.json
new file mode 100644
index 000000000000..985f25e03af2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayBackendHealthTest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..f62efb35fb19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,745 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ }
+ ],
+ "urlConfiguration": {
+ "modifiedPath": "/abc"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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"
+ }
+ ],
+ "urlConfiguration": {
+ "modifiedPath": "/abc",
+ "reroute": true
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ }
+ ],
+ "urlConfiguration": {
+ "modifiedPath": "/abc",
+ "modifiedQueryString": "x=y&a=b"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..c256f90e4934
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..29ecc67b24a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,259 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "appgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "*****"
+ }
+ }
+ ],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 443
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": []
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api",
+ "/v1/api"
+ ],
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "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"
+ }
+ ],
+ "urlConfiguration": {
+ "modifiedPath": "/abc",
+ "modifiedQueryString": "x=y&a=b",
+ "reroute": false
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..526d13cda948
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "properties": {
+ "data": "base64-pfxData",
+ "password": "pass1"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "properties": {
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.1"
+ },
+ {
+ "ipAddress": "10.0.1.2"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "properties": {
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "properties": {
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..fabb64921fb8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "properties": {
+ "data": "base64-pfxData",
+ "password": "pass1"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "properties": {
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.1"
+ },
+ {
+ "ipAddress": "10.0.1.2"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "properties": {
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "properties": {
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..76959c55d366
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..76959c55d366
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..0b2448767a74
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "AppGw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AppGw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "name": "Standard_Small",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "GatewayIp01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "FrontEndConfig01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "FrontEndPort01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "Pool01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": [
+ {
+ "ipAddress": "10.10.10.1"
+ },
+ {
+ "ipAddress": "10.10.10.2"
+ },
+ {
+ "ipAddress": "10.10.10.3"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "PoolSetting01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "pickHostNameFromBackendAddress": false,
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "listener1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01"
+ },
+ "protocol": "Http",
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "Rule01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01"
+ }
+ }
+ }
+ ],
+ "probes": [],
+ "redirectConfigurations": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..a272ce07a9f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg",
+ "parameters": {
+ "location": "westus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..dd92968cec5a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..0f84e95b9ed6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..145d118fec96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..aef590ba4fc0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..ff75cb2a7249
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AutoApprovedPrivateLinkServicesGet.json
new file mode 100644
index 000000000000..4d0fc94cac55
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AutoApprovedPrivateLinkServicesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
new file mode 100644
index 000000000000..444aedfb0dc6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..20149de9351f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..9e4354e4e321
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailablePrivateEndpointTypesGet.json
new file mode 100644
index 000000000000..f044c7860740
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailablePrivateEndpointTypesGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
new file mode 100644
index 000000000000..362ec07560d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableServiceAliasesList.json
new file mode 100644
index 000000000000..56a77cdc02ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableServiceAliasesList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableServiceAliasesListByResourceGroup.json
new file mode 100644
index 000000000000..897e118a9a22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AvailableServiceAliasesListByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..011eaeb9eecd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..d52751925675
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "azfwfqdntag",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewallFqdnTags/azfwfqdntag",
+ "type": "Microsoft.Network/azureFirewallFqdnTags",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "fqdnTagName": "azfwfqdntag"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..78b8c38a305d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGet.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithAdditionalProperties.json
new file mode 100644
index 000000000000..49c91826016c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithAdditionalProperties.json
@@ -0,0 +1,179 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithIpGroups.json
new file mode 100644
index 000000000000..f153d3097dd7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithIpGroups.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ ],
+ "sourceIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ],
+ "destinationIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "changeNumber": "5"
+ },
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2",
+ "changeNumber": "4"
+ },
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3",
+ "changeNumber": "1"
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithMgmtSubnet.json
new file mode 100644
index 000000000000..8f973406057c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithMgmtSubnet.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ }
+ }
+ }
+ ],
+ "managementIpConfiguration": {
+ "name": "azureFirewallMgmtIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithZones.json
new file mode 100644
index 000000000000..5df9ca1de3e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallGetWithZones.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "azureFirewallName": "azurefirewall"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US 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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..ce52516d2e10
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,193 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ }
+ }
+ }
+ ],
+ "managementIpConfiguration": {
+ "name": "azureFirewallMgmtIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..d3688375f669
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "azurefirewall",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type": "Microsoft.Network/azureFirewalls",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "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"
+ }
+ }
+ }
+ ],
+ "managementIpConfiguration": {
+ "name": "azureFirewallMgmtIpConfiguration",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..28c960aa2b3f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPut.json
@@ -0,0 +1,497 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutInHub.json
new file mode 100644
index 000000000000..59ec308532a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutInHub.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ },
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ "ipGroups": [],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithAdditionalProperties.json
new file mode 100644
index 000000000000..7c99a1d68aac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithAdditionalProperties.json
@@ -0,0 +1,507 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithIpGroups.json
new file mode 100644
index 000000000000..d9837dcff08b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithIpGroups.json
@@ -0,0 +1,505 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ ],
+ "sourceIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections": [
+ {
+ "name": "natrulecoll",
+ "properties": {
+ "priority": 112,
+ "action": {
+ "type": "Dnat"
+ },
+ "rules": [
+ {
+ "name": "DNAT-HTTPS-traffic",
+ "description": "D-NAT all outbound web traffic for inspection",
+ "sourceIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationIpGroups": [
+ "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "changeNumber": "5"
+ },
+ {
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2",
+ "changeNumber": "4"
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithMgmtSubnet.json
new file mode 100644
index 000000000000..b6d6a84a2cde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithMgmtSubnet.json
@@ -0,0 +1,507 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ }
+ }
+ }
+ ],
+ "managementIpConfiguration": {
+ "name": "azureFirewallMgmtIpConfiguration",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedPort": "880",
+ "translatedFqdn": "internalhttpserver"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithZones.json
new file mode 100644
index 000000000000..840d42c5bc87
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallPutWithZones.json
@@ -0,0 +1,509 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "ipGroups": [],
+ "additionalProperties": {}
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "DNAT-HTTP-traffic-With-FQDN",
+ "description": "D-NAT all inbound web traffic for inspection",
+ "sourceAddresses": [
+ "*"
+ ],
+ "destinationAddresses": [
+ "1.2.3.4"
+ ],
+ "destinationPorts": [
+ "80"
+ ],
+ "protocols": [
+ "TCP"
+ ],
+ "translatedFqdn": "internalhttpserver",
+ "translatedPort": "880"
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ ]
+ },
+ {
+ "name": "L4-traffic-with-FQDN",
+ "description": "Block traffic based on source IPs and ports to amazon",
+ "sourceAddresses": [
+ "10.2.4.12-10.2.4.255"
+ ],
+ "destinationPorts": [
+ "443-444",
+ "8443"
+ ],
+ "destinationFqdns": [
+ "www.amazon.com"
+ ],
+ "protocols": [
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "additionalProperties": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallUpdateTags.json
new file mode 100644
index 000000000000..ec12493501c5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/AzureFirewallUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostDelete.json
new file mode 100644
index 000000000000..8af2a3ea41fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "bastionHostName": "bastionhosttenant"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostGet.json
new file mode 100644
index 000000000000..baee468cbb24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostListByResourceGroup.json
new file mode 100644
index 000000000000..6ae2020a9f1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostListBySubscription.json
new file mode 100644
index 000000000000..7fd8321617d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostPut.json
new file mode 100644
index 000000000000..c27a3bd9c1f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/BastionHostPut.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..ff0148308d8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "location": "westus",
+ "domainNameLabel": "testdns"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json
new file mode 100644
index 000000000000..839d0dcb97ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
new file mode 100644
index 000000000000..3b0377a37bdc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..d0fc3b408b4a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..5d3515344736
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..bb80ef2849cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..53fa7038d96e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp",
+ "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..ffafc71107fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan",
+ "parameters": {
+ "location": "westus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..5be66e0f7ddf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..ba4183185e56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..591e50ea0f64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..d6fc9aeb002d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanUpdateTags.json
new file mode 100644
index 000000000000..cc2e1544e147
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DdosProtectionPlanUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..4fda5ed1a21f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1",
+ "defaultSecurityRuleName": "AllowVnetInBound"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..344a522d2b3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..439567cb9888
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Storage",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.Sql",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..edc482b37c43
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..6179dd1b1655
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "authorizationName": "authorizatinName",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "authorizationParameters": {
+ "properties": {}
+ }
+ },
+ "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-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..57c21234c8ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..c90623c92acb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..e0374d81dd18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..9689e5daafcc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections",
+ "expressRouteCircuitConnectionParameters": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/29"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..ebc183bf42c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..4a60c37fa3f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..5df4015eb94f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSEUR",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSEUR",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharckteurope/providers/Microsoft.Network/expressRouteCircuits/dedharcktams/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..800349fe6415
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..67be7979c3c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "circuitName": "expressRouteCircuit1",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/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-11-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..c99e1c45a52d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..2af269dd5f7b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..f33ca144f639
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..01a38e6d8324
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..2eda6f8b4c82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "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-11-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..56afb317056c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..8e995b08d459
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..a86994fbbac3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..bc4a1dcb681f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..c8186d8b610b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..538092f94f15
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..ed8de725c100
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..30156e31ad59
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "ertest",
+ "circuitName": "er1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "bandwidthInMbps": 1000
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "0b392c2e-1e9d-46d7-b5e0-9ce90ca6b60c",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..b39b725cd3fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..e7d5f942458d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..40aad46be8a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..5b46e13479f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "resourceGroupName",
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..90a14cf66ff7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..977ae853ede6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..46233fe60b4d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..24921416fc0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..fee4798b9fa5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "crossConnectionName": ""
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..b76189c46aac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..5fa83a604337
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSilicon-Valley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..27ea7f10f7c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "crossConnectionName": "",
+ "parameters": {
+ "properties": {
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..4efdc48056b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "crossConnectionName": "",
+ "crossConnectionParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..00b7ffbcf194
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "192.116.14.254",
+ "macAddress": "885a.9269.9110"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..7ab8ddbaa4cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "network": "10.6.0.0/16",
+ "nextHop": "10.6.1.12",
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ },
+ {
+ "network": "10.7.0.0/16",
+ "nextHop": "10.7.1.13",
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..1c99157a021f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "neighbor": "10.6.1.112",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "Active"
+ },
+ {
+ "neighbor": "10.6.1.113",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "1"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..426931e752e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..35ebff6da6eb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..59033ff1cffd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..62c37bcbc87c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "resourceGroupName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1,
+ "enableInternetSecurity": false
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..251d6aa6ed4d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1,
+ "enableInternetSecurity": false
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..4ec9889c14cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..6a496521b92a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..07e2c295c894
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/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-11-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..6403f0f8baaf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..3741162de11a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..cf99352ecbbb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..26d2d9a061f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..abfb7b49682e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ",
+ "links": [
+ {
+ "name": "link1",
+ "properties": {
+ "adminState": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/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-11-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..5d5d3fb89af0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..a6544a295faf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..8ca17f62e1ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-11-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-11-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..06562e176698
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyDelete.json
new file mode 100644
index 000000000000..85b9cf88631b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "firewallPolicyName": "firewallPolicy"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyGet.json
new file mode 100644
index 000000000000..e470865d74df
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyListByResourceGroup.json
new file mode 100644
index 000000000000..9daf3c9ff2e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyListByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyListBySubscription.json
new file mode 100644
index 000000000000..4748dc01d2dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyListBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyPut.json
new file mode 100644
index 000000000000..f8dfe07b2030
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyPut.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyRuleGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupDelete.json
new file mode 100644
index 000000000000..2c1e232a5822
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupGet.json
new file mode 100644
index 000000000000..f81907679f3d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "ruleGroupName": "ruleGroup1",
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyRuleGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupList.json
new file mode 100644
index 000000000000..4d3346a6dcb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "firewallPolicyName": "firewallPolicy",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/FirewallPolicyRuleGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupPut.json
new file mode 100644
index 000000000000..3bdaa3c2113a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/FirewallPolicyRuleGroupPut.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
new file mode 100644
index 000000000000..52cbec13a0fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/GetVirtualWanVpnServerConfigurations.json
new file mode 100644
index 000000000000..89df3a69c039
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/GetVirtualWanVpnServerConfigurations.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..714f7809ff2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..a4201636a0d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..bbeaf8e6e797
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1",
+ "inboundNatRuleParameters": {
+ "properties": {
+ "protocol": "Tcp",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "idleTimeoutInMinutes": 4,
+ "enableTcpReset": 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-11-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..cbf2a4370a88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..cfd0a4c896b6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..8b025f285f01
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ },
+ {
+ "name": "natRule1.3",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.3",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3392,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsCreate.json
new file mode 100644
index 000000000000..41830293b248
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsCreate.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsDelete.json
new file mode 100644
index 000000000000..16817060de7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsGet.json
new file mode 100644
index 000000000000..59acc2cb5936
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup",
+ "ipGroupsName": "ipGroups1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..b4ddf0ecbb33
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ },
+ {
+ "name": "ipGroups2",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "14.64.39.16/32",
+ "41.74.146.80/31",
+ "42.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListBySubscription.json
new file mode 100644
index 000000000000..81bd4d5e3f0c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "iptag1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup1/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ },
+ {
+ "name": "iptag2",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup2/ipGroups",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "14.64.39.16/32",
+ "41.74.146.80/31",
+ "42.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsUpdateTags.json
new file mode 100644
index 000000000000..ebdd60989cc6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/IpGroupsUpdateTags.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "ipGroupsName": "ipGroups1",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "parameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipGroups1",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1",
+ "type": "Microsoft.Network/ipGroups",
+ "location": "westcentralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddresses": [
+ "13.64.39.16/32",
+ "40.74.146.80/31",
+ "40.74.147.32/28"
+ ],
+ "firewalls": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall"
+ }
+ ]
+ },
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..9d717c475297
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..028c19260726
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..10f7c82d4468
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..491da6cfd98a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,339 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..257ac6795595
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "location": "eastus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "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-11-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithOutboundRules.json
new file mode 100644
index 000000000000..dc1528847dc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithOutboundRules.json
@@ -0,0 +1,423 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..7009adb4728e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,348 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..7ab1809ff4f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..564d43617f68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..7741952f93ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..c018844c6d6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerGet.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..d07a21473672
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..908a666ef7ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..161de1ed0505
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..0b4d95047628
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..18dd6125c2f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "mynic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..3a99bc4d090e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.0"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0"
+ }
+ }
+ },
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..bdd120d3dac8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..366c3b915af7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2019-11-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-11-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..29c8c67829c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/probe1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..d19cfe45dd4b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "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-11-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..47d07a1eef26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "loadBalancerName": "lb",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..bca1f68279a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..1fa8cd3be76c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..a7f3b3995381
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "localgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..b1fae2270048
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "localgw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ },
+ {
+ "name": "localgw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.2.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..f4187d891999
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName": "lgw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "lgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "gatewayIpAddress": "12.0.0.1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayCreateOrUpdate.json
new file mode 100644
index 000000000000..e1212ef010bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayCreateOrUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayDelete.json
new file mode 100644
index 000000000000..8b00b1a4b6e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "natGatewayName": "test-natGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayGet.json
new file mode 100644
index 000000000000..4abd4a304a0c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayList.json
new file mode 100644
index 000000000000..51a433d53291
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayListAll.json
new file mode 100644
index 000000000000..cc5d0f234b6c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayListAll.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayUpdateTags.json
new file mode 100644
index 000000000000..7f776332b4d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NatGatewayUpdateTags.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..111111113f14
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "properties": {
+ "enableAcceleratedNetworking": true,
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ }
+ }
+ }
+ ]
+ },
+ "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-11-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..22a2eb8c4fd6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..d8d63017e529
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg"
+ },
+ "association": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "networkInterface": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "effectiveSecurityRules": [
+ {
+ "name": "securityRules/rule1",
+ "protocol": "Tcp",
+ "sourcePortRange": "456-456",
+ "destinationPortRange": "6579-6579",
+ "sourceAddressPrefix": "0.0.0.0/32",
+ "destinationAddressPrefix": "0.0.0.0/32",
+ "access": "Allow",
+ "priority": 234,
+ "direction": "Inbound"
+ },
+ {
+ "name": "securityRules/default-allow-rdp",
+ "protocol": "Tcp",
+ "sourcePortRange": "0-65535",
+ "destinationPortRange": "3389-3389",
+ "sourceAddressPrefix": "1.1.1.1/32",
+ "destinationAddressPrefix": "0.0.0.0/0",
+ "access": "Allow",
+ "priority": 1000,
+ "direction": "Inbound"
+ },
+ {
+ "name": "defaultSecurityRules/AllowInternetOutBound",
+ "protocol": "All",
+ "sourcePortRange": "0-65535",
+ "destinationPortRange": "0-65535",
+ "sourceAddressPrefix": "0.0.0.0/0",
+ "destinationAddressPrefix": "Internet",
+ "expandedDestinationAddressPrefix": [
+ "32.0.0.0/3",
+ "4.0.0.0/6",
+ "2.0.0.0/7",
+ "1.0.0.0/8"
+ ],
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..1c005e9fb475
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.20.2.0/24"
+ ],
+ "nextHopType": "VnetLocal",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "Internet",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "10.0.0.0/8"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "100.64.0.0/10"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.16.0.0/12"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "192.168.0.0/16"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..ce2f17591f57
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-nic",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "test.bx.internal.cloudapp.net"
+ },
+ "macAddress": "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..731836222afd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ],
+ "virtualNetworkTaps": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..ebe62037df30
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..bde8d7169f77
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-nic",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "test.bx.internal.cloudapp.net"
+ },
+ "macAddress": "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name": "test-nic2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..5e53d56e4611
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-nic",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "test.bx.internal.cloudapp.net"
+ },
+ "macAddress": "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name": "test-nic2",
+ "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..b5e890b97e89
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lbname1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "lbfrontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "bepool1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inbound1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..d4d163728f56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-11-01",
+ "tapConfigurationParameters": {
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..35326f9e3886
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-networkinterface",
+ "tapConfigurationName": "test-tapconfiguration"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..ba7cb2f1b701
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..7fe407db33b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "mynic"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..4455244ec65c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-nic",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location": "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "172.20.2.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": true,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..6d995ec63fa3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..91ed17cf7e3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..54328440bece
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..3972486b2997
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "name": "containerGroup1_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup1_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..8ef94bb25045
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..9c3cca0a7eec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..cc50ee27e321
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "test-np",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-np",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-np",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..9caf65be7d90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..c41caf41e3d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "parameters": {
+ "properties": {
+ "securityRules": [
+ {
+ "name": "rule1",
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "destinationPortRange": "80",
+ "sourcePortRange": "*",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ },
+ "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-11-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..f801b83b5c5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..82bdc94df660
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..67b8a8afb66d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..dd975285d542
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..1b3f802d77ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1",
+ "securityRuleParameters": {
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "destinationPortRange": "8080",
+ "sourcePortRange": "*",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..1bffb56f5f4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..3aa23c2d254a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..ff3fd70815a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..1781720851d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkSecurityGroupName": "testnsg",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..47743cf48cac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "azureLocations": [
+ "West US"
+ ],
+ "country": "United States",
+ "state": "washington",
+ "city": "seattle"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "countries": [
+ {
+ "countryName": "United States",
+ "states": [
+ {
+ "stateName": "washington",
+ "cities": [
+ {
+ "cityName": "seattle",
+ "providers": [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "countries": [
+ {
+ "countryName": "United States",
+ "states": [
+ {
+ "stateName": "washington",
+ "cities": [
+ {
+ "cityName": "seattle",
+ "providers": [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..720ee76b0781
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "providers": [
+ "Frontier Communications of America, Inc. - ASN 5650"
+ ],
+ "azureLocations": [
+ "West US"
+ ],
+ "startTime": "2017-09-07T00:00:00Z",
+ "endTime": "2017-09-10T00:00:00Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "aggregationLevel": "State",
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "reachabilityReport": [
+ {
+ "provider": "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "aggregationLevel": "State",
+ "providerLocation": {
+ "country": "United States",
+ "state": "washington"
+ },
+ "reachabilityReport": [
+ {
+ "provider": "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..20bdc6f28c8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1",
+ "location": "centraluseuap",
+ "parameters": {
+ "properties": {
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
new file mode 100644
index 000000000000..5c687b34f04a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..e1c884b33d58
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..677bf495d6b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ },
+ {
+ "name": "cm2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm2",
+ "port": 0
+ },
+ "destination": {
+ "address": "google.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 30,
+ "autoStart": true,
+ "startTime": "2018-01-08T05:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..dcfeefdee1d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sourceStatus": "Active",
+ "states": [
+ {
+ "connectionState": "Reachable",
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "endTime": "2018-01-08T05:12:41.5265438Z",
+ "evaluationState": "Completed",
+ "hops": [
+ {
+ "type": "Source",
+ "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address": "10.1.1.4",
+ "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds": [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues": []
+ },
+ {
+ "type": "VirtualNetwork",
+ "id": "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address": "192.168.100.4",
+ "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "sourceStatus": "Active",
+ "states": [
+ {
+ "connectionState": "Reachable",
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "endTime": "2018-01-08T05:12:41.5265438Z",
+ "evaluationState": "Completed",
+ "hops": [
+ {
+ "type": "Source",
+ "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address": "10.1.1.4",
+ "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds": [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues": []
+ },
+ {
+ "type": "VirtualNetwork",
+ "id": "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address": "192.168.100.4",
+ "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..0453be3a1dff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..0453be3a1dff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json
new file mode 100644
index 000000000000..a129fa2f28f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorV2Create.json
new file mode 100644
index 000000000000..6965a0a1b871
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectionMonitorV2Create.json
@@ -0,0 +1,206 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "connectionMonitorName": "cm1",
+ "location": "centraluseuap",
+ "parameters": {
+ "properties": {
+ "endpoints": [
+ {
+ "name": "vm1",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ {
+ "name": "CanaryWorkspaceVamshi",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace",
+ "filter": {
+ "type": "Include",
+ "items": [
+ {
+ "type": "AgentAddress",
+ "address": "npmuser"
+ }
+ ]
+ }
+ },
+ {
+ "name": "bing",
+ "address": "bing.com"
+ },
+ {
+ "name": "google",
+ "address": "google.com"
+ }
+ ],
+ "testConfigurations": [
+ {
+ "name": "testConfig1",
+ "testFrequencySec": 60,
+ "protocol": "Tcp",
+ "tcpConfiguration": {
+ "port": 80,
+ "disableTraceRoute": false
+ }
+ }
+ ],
+ "testGroups": [
+ {
+ "name": "test1",
+ "disable": false,
+ "testConfigurations": [
+ "testConfig1"
+ ],
+ "sources": [
+ "vm1",
+ "CanaryWorkspaceVamshi"
+ ],
+ "destinations": [
+ "bing",
+ "google"
+ ]
+ }
+ ],
+ "outputs": []
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties": {
+ "endpoints": [
+ {
+ "name": "vm1",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ {
+ "name": "CanaryWorkspaceVamshi",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace",
+ "filter": {
+ "type": "Include",
+ "items": [
+ {
+ "type": "AgentAddress",
+ "address": "npmuser"
+ }
+ ]
+ }
+ },
+ {
+ "name": "bing",
+ "address": "bing.com"
+ },
+ {
+ "name": "google",
+ "address": "google.com"
+ }
+ ],
+ "testConfigurations": [
+ {
+ "name": "testConfig1",
+ "testFrequencySec": 60,
+ "protocol": "Tcp",
+ "tcpConfiguration": {
+ "port": 80,
+ "disableTraceRoute": false
+ }
+ }
+ ],
+ "testGroups": [
+ {
+ "name": "test1",
+ "disable": false,
+ "testConfigurations": [
+ "testConfig1"
+ ],
+ "sources": [
+ "vm1",
+ "CanaryWorkspaceVamshi"
+ ],
+ "destinations": [
+ "bing",
+ "google"
+ ]
+ }
+ ],
+ "outputs": []
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "cm1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties": {
+ "endpoints": [
+ {
+ "name": "vm1",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ {
+ "name": "CanaryWorkspaceVamshi",
+ "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace",
+ "filter": {
+ "type": "Include",
+ "items": [
+ {
+ "type": "AgentAddress",
+ "address": "npmuser"
+ }
+ ]
+ }
+ },
+ {
+ "name": "bing",
+ "address": "bing.com"
+ },
+ {
+ "name": "google",
+ "address": "google.com"
+ }
+ ],
+ "testConfigurations": [
+ {
+ "name": "testConfig1",
+ "testFrequencySec": 60,
+ "protocol": "Tcp",
+ "tcpConfiguration": {
+ "port": 80,
+ "disableTraceRoute": false
+ }
+ }
+ ],
+ "testGroups": [
+ {
+ "name": "test1",
+ "disable": false,
+ "testConfigurations": [
+ "testConfig1"
+ ],
+ "sources": [
+ "vm1",
+ "CanaryWorkspaceVamshi"
+ ],
+ "destinations": [
+ "bing",
+ "google"
+ ]
+ }
+ ],
+ "outputs": []
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..50ab158a5265
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination": {
+ "address": "192.168.100.4",
+ "port": 3389
+ },
+ "preferredIPVersion": "IPv4"
+ }
+ },
+ "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-11-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..0d239e6cda18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..801562f79bc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..178d266e965d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogCreate.json
new file mode 100644
index 000000000000..e4b8dd1c2816
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogCreate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "flowLogName": "fl",
+ "parameters": {
+ "location": "centraluseuap",
+ "properties": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg",
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe",
+ "enabled": true,
+ "format": {
+ "type": "JSON",
+ "version": 1
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg",
+ "targetResourceGuid": "00000000-0000-0000-0000-000000000000",
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe",
+ "enabled": true,
+ "flowAnalyticsConfiguration": {},
+ "retentionPolicy": {
+ "days": 0,
+ "enabled": false
+ },
+ "format": {
+ "type": "JSON",
+ "version": 1
+ }
+ },
+ "type": "Microsoft.Network/networkWatchers/FlowLogs",
+ "location": "centraluseuap"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg",
+ "targetResourceGuid": "00000000-0000-0000-0000-000000000000",
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe",
+ "enabled": true,
+ "flowAnalyticsConfiguration": {},
+ "retentionPolicy": {
+ "days": 0,
+ "enabled": false
+ },
+ "format": {
+ "type": "JSON",
+ "version": 1
+ }
+ },
+ "type": "Microsoft.Network/networkWatchers/FlowLogs",
+ "location": "centraluseuap"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogDelete.json
new file mode 100644
index 000000000000..3b724787ee0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "flowLogName": "fl"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogGet.json
new file mode 100644
index 000000000000..2ee784e2fe96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "flowLogName": "flowLog1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "flowLog1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg",
+ "targetResourceGuid": "00000000-0000-0000-0000-000000000000",
+ "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002",
+ "enabled": true,
+ "flowAnalyticsConfiguration": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "enabled": false,
+ "workspaceId": "-",
+ "workspaceRegion": "-",
+ "trafficAnalyticsInterval": 60
+ }
+ },
+ "retentionPolicy": {
+ "days": 0,
+ "enabled": false
+ },
+ "format": {
+ "type": "JSON",
+ "version": 2
+ }
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/FlowLogs"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogList.json
new file mode 100644
index 000000000000..1a68eac65111
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "flowLog1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg",
+ "targetResourceGuid": "00000000-0000-0000-0000-000000000000",
+ "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002",
+ "enabled": true,
+ "flowAnalyticsConfiguration": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "enabled": false,
+ "workspaceId": "-",
+ "workspaceRegion": "-",
+ "trafficAnalyticsInterval": 60
+ }
+ },
+ "retentionPolicy": {
+ "days": 0,
+ "enabled": false
+ },
+ "format": {
+ "type": "JSON",
+ "version": 2
+ }
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/FlowLogs"
+ },
+ {
+ "name": "flowLog2",
+ "id": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_centraluseuap/FlowLogs/flowLog2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/DSCP-test-vm1-nsg",
+ "targetResourceGuid": "00000000-0000-0000-0000-000000000000",
+ "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/iraflowlogtest2diag",
+ "enabled": true,
+ "flowAnalyticsConfiguration": {},
+ "retentionPolicy": {
+ "days": 0,
+ "enabled": false
+ },
+ "format": {
+ "type": "JSON",
+ "version": 2
+ }
+ },
+ "type": "Microsoft.Network/networkWatchers/FlowLogs",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..cc0e36536eba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..883dc5b407b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..03823ef1e9cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "direction": "Outbound",
+ "protocol": "TCP",
+ "localPort": "80",
+ "remotePort": "80",
+ "localIPAddress": "10.2.0.4",
+ "remoteIPAddress": "121.10.1.1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access": "Allow",
+ "ruleName": "Rule1"
+ }
+ },
+ "202": {
+ "body": {
+ "access": "Allow",
+ "ruleName": "Rule1"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..4c59ba16d660
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "nw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..9dd1af5eb7da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "nw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..68160c6925dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "profiles": [
+ {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..e264e9abac6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "sourceIPAddress": "10.0.0.5",
+ "destinationIPAddress": "10.0.0.10",
+ "targetNicResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextHopType": "VnetLocal",
+ "nextHopIpAddress": "10.0.0.1",
+ "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ },
+ "202": {
+ "body": {
+ "nextHopType": "VnetLocal",
+ "nextHopIpAddress": "10.0.0.1",
+ "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..9716032e807b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1",
+ "parameters": {
+ "properties": {
+ "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket": 10000,
+ "totalBytesPerSession": 100000,
+ "timeLimitInSeconds": 100,
+ "storageLocation": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath": "D:\\capture\\pc1.cap"
+ },
+ "filters": [
+ {
+ "protocol": "TCP",
+ "localIPAddress": "10.0.0.4",
+ "localPort": "80"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "pc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "properties": {
+ "provisioningState": "Updating",
+ "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket": 10000,
+ "totalBytesPerSession": 100000,
+ "timeLimitInSeconds": 100,
+ "storageLocation": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath": "D:\\capture\\pc1.cap"
+ },
+ "filters": [
+ {
+ "protocol": "TCP",
+ "localIPAddress": "10.0.0.4",
+ "localPort": "80"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..0743324c4dd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..ffb9e3a0737b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "pc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket": 10000,
+ "totalBytesPerSession": 100000,
+ "timeLimitInSeconds": 100,
+ "storageLocation": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath": "D:\\capture\\pc1.cap"
+ },
+ "filters": [
+ {
+ "protocol": "TCP",
+ "localIPAddress": "10.0.0.4",
+ "localPort": "80"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..c3e8311c5d7d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "pc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime": "2016-09-07T12:35:24Z",
+ "packetCaptureStatus": "Stopped",
+ "stopReason": "TimeExceeded",
+ "packetCaptureError": []
+ }
+ },
+ "202": {
+ "body": {
+ "name": "pc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime": "2016-09-07T12:35:24Z",
+ "packetCaptureStatus": "Stopped",
+ "stopReason": "TimeExceeded",
+ "packetCaptureError": []
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..d11620b74b00
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "packetCaptureName": "pc1"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..dc017be4369d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "pc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Updating",
+ "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket": 10000,
+ "totalBytesPerSession": 100000,
+ "timeLimitInSeconds": 100,
+ "storageLocation": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath": "D:\\capture\\pc1.cap"
+ },
+ "filters": [
+ {
+ "protocol": "TCP",
+ "localIPAddress": "10.0.0.4",
+ "localPort": "80"
+ }
+ ]
+ }
+ },
+ {
+ "name": "pc2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket": 10000,
+ "totalBytesPerSession": 100000,
+ "timeLimitInSeconds": 100,
+ "storageLocation": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc2.cap",
+ "filePath": "D:\\capture\\pc2.cap"
+ },
+ "filters": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..e53fca3d1939
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations": {
+ "subnetAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules": [
+ {
+ "name": "fe_rule",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow Frontend",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "10.1.0.0/24",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 100,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules": [
+ {
+ "name": "DefaultOutboundDenyAll",
+ "protocol": "All",
+ "sourcePortRange": "0-65535",
+ "destinationPortRange": "0-65535",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations": {
+ "subnetAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules": [
+ {
+ "name": "fe_rule",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow Frontend",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "10.1.0.0/24",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 100,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules": [
+ {
+ "name": "DefaultOutboundDenyAll",
+ "protocol": "All",
+ "sourcePortRange": "0-65535",
+ "destinationPortRange": "0-65535",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..a5089256fc0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceGroupName": "rg2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ce592f46-8164-4bf2-ad36-b8e4acf6fb68",
+ "createdDateTime": "2017-08-02T19:31:55.9461781Z",
+ "lastModified": "2017-05-27T00:00:13.2005337Z",
+ "resources": [
+ {
+ "name": "MultiTierApp0",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/MultiTierApp0",
+ "location": "westus",
+ "associations": [
+ {
+ "name": "appNic0",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic0",
+ "associationType": "Contains"
+ },
+ {
+ "name": "appNic10",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic10",
+ "associationType": "Contains"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..3920578450bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "properties": {
+ "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "storagePath": "https://st1.blob.core.windows.net/cn1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startTime": "2017-01-12T00:19:47.0442834Z",
+ "endTime": "2017-01-12T00:20:09.914Z",
+ "code": "UnHealthy",
+ "results": [
+ {
+ "id": "000000",
+ "reasonType": "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "startTime": "2017-01-12T00:19:47.0442834Z",
+ "endTime": "2017-01-12T00:20:09.914Z",
+ "code": "UnHealthy",
+ "results": [
+ {
+ "id": "000000",
+ "reasonType": "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..6c51c97a18e0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startTime": "2017-01-12T00:19:47.0442834Z",
+ "endTime": "2017-01-12T00:20:09.914Z",
+ "code": "UnHealthy",
+ "results": [
+ {
+ "id": "000000",
+ "reasonType": "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "startTime": "2017-01-12T00:19:47.0442834Z",
+ "endTime": "2017-01-12T00:20:09.914Z",
+ "code": "UnHealthy",
+ "results": [
+ {
+ "id": "000000",
+ "reasonType": "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..0049376b0beb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkWatcherName": "nw1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/networkWatchers",
+ "location": "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/OperationList.json
new file mode 100644
index 000000000000..59cd45c7fa5b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Network/localnetworkgateways/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Get LocalNetworkGateway",
+ "description": "Gets LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/write",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Create or update LocalNetworkGateway",
+ "description": "Creates or updates an existing LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/delete",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Delete LocalNetworkGateway",
+ "description": "Deletes LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/networkInterfaces/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Interface metric definition",
+ "operation": "Read Network Interface metric definitions",
+ "description": "Gets available metrics for the Network Interface"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "BytesSentRate",
+ "displayName": "Bytes Sent",
+ "displayDescription": "Number of bytes the Network Interface sent",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ },
+ {
+ "name": "BytesReceivedRate",
+ "displayName": "Bytes Received",
+ "displayDescription": "Number of bytes the Network Interface received",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.Network/networksecuritygroups/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Security Groups Log Definitions",
+ "operation": "Get Network Security Group Event Log Definitions",
+ "description": "Gets the events for network security group"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "NetworkSecurityGroupEvent",
+ "displayName": "Network Security Group Event",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupRuleCounter",
+ "displayName": "Network Security Group Rule Counter",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupFlowEvent",
+ "displayName": "Network Security Group Rule Flow Event",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..e7fe2ad60cb3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..443680b2cccd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "gatewayName": "p2sVpnGateway1",
+ "parameters": {
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..5efb33794d7e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "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-11-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGetConnectionHealth.json
new file mode 100644
index 000000000000..cf8886028bfe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGetConnectionHealth.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "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-11-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
new file mode 100644
index 000000000000..33421151c5d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "p2s-vpn-gateway-test",
+ "gatewayName": "p2svpngateway",
+ "api-version": "2019-11-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-11-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..04f7fbde1773
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "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-11-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..2782c6aa72ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "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-11-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..52210b7e28ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..ebbcaeb246ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json
new file mode 100644
index 000000000000..a34c25bca764
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "p2s-vpn-gateway-test",
+ "p2sVpnGatewayName": "p2svpngateway",
+ "api-version": "2019-11-01",
+ "request": {
+ "vpnConnectionIds": [
+ "vpnconnId1",
+ "vpnconnId2"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PeerExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..7e0372ca17f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PeerExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PeerExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..c0eba53d0042
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PeerExpressRouteCircuitConnectionList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointCreate.json
new file mode 100644
index 000000000000..50ab4b9877c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-11-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointCreateForManualApproval.json
new file mode 100644
index 000000000000..d6fca82e7691
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointCreateForManualApproval.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-11-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointDelete.json
new file mode 100644
index 000000000000..26226e47df72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "privateEndpointName": "testPe"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointGet.json
new file mode 100644
index 000000000000..cf426609b98c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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-11-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointGetForManualApproval.json
new file mode 100644
index 000000000000..8ed9df9b9845
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointGetForManualApproval.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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-11-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointList.json
new file mode 100644
index 000000000000..c90db59e25a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-11-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointListAll.json
new file mode 100644
index 000000000000..1c9e18d9d92f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateEndpointListAll.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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",
+ "actionsRequired": "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",
+ "actionsRequired": "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",
+ "actionsRequired": "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-11-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceCreate.json
new file mode 100644
index 000000000000..283cae4b6367
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceDelete.json
new file mode 100644
index 000000000000..df2a7b52aa3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..b2cfc7746044
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceGet.json
new file mode 100644
index 000000000000..3a6270079a90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceGet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..dabc4193ffb0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls",
+ "peConnectionName": "testPlePeConnection"
+ },
+ "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-11-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceList.json
new file mode 100644
index 000000000000..10c78157a347
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceList.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceListAll.json
new file mode 100644
index 000000000000..9241db70a857
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceListAll.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json
new file mode 100644
index 000000000000..f6874567fa64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "serviceName": "testPls"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPlePeConnection1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approved it for some reason."
+ }
+ }
+ },
+ {
+ "name": "testPlePeConnection2",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "rejected by some reason."
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..bd58a12507ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..39eb58ef6dcd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..1b1473bf1252
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..0d26954ff1b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..5ae9aa39f7a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..9e85b5be62ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "testDNS-ip"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testDNS-ip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Dynamic",
+ "idleTimeoutInMinutes": 4,
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags": [
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "SQL"
+ },
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "Storage"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..0c3c0e0a01f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testDNS-ip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Dynamic",
+ "idleTimeoutInMinutes": 4,
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags": [
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "SQL"
+ },
+ {
+ "ipTagType": "FirstPartyUsage",
+ "tag": "Storage"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name": "ip03",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip03",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "40.85.154.247",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Dynamic",
+ "idleTimeoutInMinutes": 4,
+ "dnsSettings": {
+ "domainNameLabel": "testlbl",
+ "fqdn": "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..306d7845fce7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testDNS-ip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Dynamic",
+ "idleTimeoutInMinutes": 4,
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name": "ip01",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip01",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipAddress": "40.85.154.247",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Dynamic",
+ "idleTimeoutInMinutes": 4,
+ "dnsSettings": {
+ "domainNameLabel": "testlbl",
+ "fqdn": "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..f5f928d3bbcf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testDNS-ip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicIPAddressVersion": "IPv4",
+ "publicIPAllocationMethod": "Static",
+ "idleTimeoutInMinutes": 10,
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..5f5b0cc3e36c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..51a14f7e47ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..a1203305faeb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..dd1869a80fc8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "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-11-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..0016a45e1102
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..50523b92339e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..0110148b1ffa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ipprefix",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "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-11-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..6ca4d0f84a73
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterCreate.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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-11-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..aafdaf37e7f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..463efc5af218
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..05c38d738264
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..e9dd9edf3865
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..5eb62e639ed1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..47dfc8637ad2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..e50bcfab0fa4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..0782f05b13bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterUpdateTags.json
new file mode 100644
index 000000000000..a5d2260ec95d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteFilterUpdateTags.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "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-11-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..a1674fe43a2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [],
+ "disableBgpRoutePropagation": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..999d60df90cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "parameters": {
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..5ecefc4ac557
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..f907c3b9e3a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": false,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..26cf45f46d81
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt2",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "provisioningState": "Succeeded",
+ "routes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..09522bce64a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/testrt3",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..5623571acdde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1",
+ "routeParameters": {
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..6807e72d3c50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..465b85367bd9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "routeName": "route1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..f55854375462
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ },
+ {
+ "name": "route2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.2.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..1c11e12416db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "routeTableName": "testrt",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..2f72448a45e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..13f11546d448
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..573ef4f6f934
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..5b8806733380
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition",
+ "ServiceEndpointPolicyDefinitions": {
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testDefinition",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..26cdde0d9d38
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..8498c5466b2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testDefinition",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..b5369e14ee3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testPolicy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testDef",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDef",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..116175002abe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..21d7af576588
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testServiceEndpointPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..403dc7038dfb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testServiceEndpointPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "location": "westus",
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name": "testServiceEndpointPolicy1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy1",
+ "location": "westus",
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..6b519e14ea25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name": "testPolicy1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy2",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition2",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..4a0dafda7a5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testServiceEndpointPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceTagsList.json
new file mode 100644
index 000000000000..b7a21053423d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/ServiceTagsList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..984c3b9efd42
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..cfd6872ffc9d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..c2e7a218483a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..b7de9005cde1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..8689d07d8598
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..0d2b8f43ab38
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetList.json
new file mode 100644
index 000000000000..856b5cac70f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2",
+ "name": "subnet2",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetPrepareNetworkPolicies.json
new file mode 100644
index 000000000000..88c1c9992d6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetPrepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetUnprepareNetworkPolicies.json
new file mode 100644
index 000000000000..b510cd60f1a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/SubnetUnprepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/UsageList.json
new file mode 100644
index 000000000000..d763ef052734
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces",
+ "limit": 350.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PacketCaptures",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork",
+ "limit": 9.0,
+ "name": {
+ "localizedValue": "DNS servers per Virtual Network",
+ "value": "DnsServersPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SubnetsPerVirtualNetwork",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Subnets per Virtual Network",
+ "value": "SubnetsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 4096.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup",
+ "limit": 2000.0,
+ "name": {
+ "localizedValue": "Security rules addresses or ports per Network Security Group",
+ "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerLoadBalancer",
+ "limit": 150.0,
+ "name": {
+ "localizedValue": "Inbound Rules per Load Balancer",
+ "value": "InboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/FrontendIPConfigurationPerLoadBalancer",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Frontend IP Configurations per Load Balancer",
+ "value": "FrontendIPConfigurationPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/outboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "outboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface",
+ "limit": 256.0,
+ "name": {
+ "localizedValue": "Secondary IP Configurations per Network Interface",
+ "value": "SecondaryIPConfigurationsPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerNetworkInterface",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Inbound rules per Network Interface",
+ "value": "InboundRulesPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilterRulesPerRouteFilter",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filter rules per Route Filter",
+ "value": "RouteFilterRulesPerRouteFilter"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFiltersPerExpressRouteBgpPeering",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filters per Express route BGP Peering",
+ "value": "RouteFiltersPerExpressRouteBgpPeering"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..e9cb786be6b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIpPrefixes",
+ "limit": 2147483647.0,
+ "name": {
+ "localizedValue": "Public Ip Prefixes",
+ "value": "PublicIpPrefixes"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkInterfaces",
+ "limit": 24000.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 5.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PacketCaptures",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationSecurityGroups",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Application Security Groups.",
+ "value": "ApplicationSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DdosProtectionPlans",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "DDoS Protection Plans.",
+ "value": "DdosProtectionPlans"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ServiceEndpointPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Service Endpoint Policies",
+ "value": "ServiceEndpointPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkIntentPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Network Intent Policies",
+ "value": "NetworkIntentPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DnsServersPerVirtualNetwork",
+ "limit": 9.0,
+ "name": {
+ "localizedValue": "DNS servers per Virtual Network",
+ "value": "DnsServersPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SubnetsPerVirtualNetwork",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Subnets per Virtual Network",
+ "value": "SubnetsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 16384.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PeeringsPerVirtualNetwork",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Security rules per Network Intent Policy",
+ "value": "SecurityRulesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Network Intent Policy",
+ "value": "RoutesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup",
+ "limit": 2000.0,
+ "name": {
+ "localizedValue": "Security rules addresses or ports per Network Security Group",
+ "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerLoadBalancer",
+ "limit": 150.0,
+ "name": {
+ "localizedValue": "Inbound Rules per Load Balancer",
+ "value": "InboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/FrontendIPConfigurationPerLoadBalancer",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Frontend IP Configurations per Load Balancer",
+ "value": "FrontendIPConfigurationPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/OutboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "OutboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerRouteTable",
+ "limit": 400.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecondaryIPConfigurationsPerNetworkInterface",
+ "limit": 256.0,
+ "name": {
+ "localizedValue": "Secondary IP Configurations per Network Interface",
+ "value": "SecondaryIPConfigurationsPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerNetworkInterface",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Inbound rules per Network Interface",
+ "value": "InboundRulesPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilterRulesPerRouteFilter",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filter rules per Route Filter",
+ "value": "RouteFilterRulesPerRouteFilter"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFiltersPerExpressRouteBgpPeering",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filters per Express route BGP Peering",
+ "value": "RouteFiltersPerExpressRouteBgpPeering"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..c0437f6f271c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..6f223781f40e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..48cf407fa875
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubList.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ },
+ {
+ "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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..980006386760
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24",
+ "sku": "Basic"
+ }
+ },
+ {
+ "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
+ }
+ }
+ ],
+ "virtualHubRouteTableV2s": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "rt2a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24",
+ "sku": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..a17ca7e34bde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubPut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ },
+ "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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ },
+ "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": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Delete.json
new file mode 100644
index 000000000000..fb84494252b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Get.json
new file mode 100644
index 000000000000..8f46e9abf228
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2List.json
new file mode 100644
index 000000000000..7b3fe898a893
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2List.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "virtualHubRouteTable1a",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ },
+ {
+ "name": "virtualHubRouteTable1b",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1b",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.30.0.0/16",
+ "20.40.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Branches"
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Put.json
new file mode 100644
index 000000000000..bda5444d8a1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubRouteTableV2Put.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "routeTableName": "virtualHubRouteTable1a",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "virtualHubName": "virtualHub1",
+ "virtualHubRouteTableV2Parameters": {
+ "properties": {
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "virtualHubRouteTable1a",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "20.10.0.0/16",
+ "20.20.0.0/16"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ },
+ {
+ "destinationType": "CIDR",
+ "destinations": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "IPAddress",
+ "nextHops": [
+ "10.0.0.68"
+ ]
+ }
+ ],
+ "attachedConnections": [
+ "All_Vnets"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..5373871345d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [],
+ "virtualHubRouteTableV2s": [],
+ "addressPrefix": "10.168.0.0/24",
+ "sku": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..41729844fd8a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "ipAddress": "10.0.1.4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "available": false,
+ "availableIPAddresses": [
+ "10.0.1.5",
+ "10.0.1.6",
+ "10.0.1.7",
+ "10.0.1.8",
+ "10.0.1.9"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..aa1f9165d19e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..e5818079964d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "vnetTest",
+ "virtualNetworkName": "vnet1",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage"
+ }
+ ],
+ "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-11-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..b078ba8b851b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "vnetTest",
+ "virtualNetworkName": "vnet1",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "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-11-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..e296c6623b69
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24"
+ }
+ }
+ ]
+ },
+ "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-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..32de77c3241d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.0.1.0/28"
+ ]
+ }
+ }
+ ]
+ },
+ "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-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..d523ef27f71f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "properties": {
+ "serviceName": "Microsoft.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-11-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateWithBgpCommunities.json
new file mode 100644
index 000000000000..a63a8fe4c920
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkCreateWithBgpCommunities.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24"
+ }
+ }
+ ],
+ "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-11-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..fa5159b555a5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..a738f2b6b3a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S",
+ "parameters": {
+ "properties": {
+ "virtualNetworkGateway1": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1",
+ "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"
+ },
+ "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-11-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..99a65a6cebad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "conn1"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..f6676bd1bc25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "trafficSelectorPolicies": [],
+ "connectionStatus": "Connecting",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..c94008522882
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..633bb64d5b4f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "conn1",
+ "parameters": {
+ "keyLength": 128
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyLength": 128
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..5d871abbd91f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "connS2S",
+ "parameters": {
+ "value": "AzureAbc123"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ },
+ "201": {
+ "body": {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
new file mode 100644
index 000000000000..f08d2984f6ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..5a8554c18360
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
new file mode 100644
index 000000000000..c462dfc09966
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..239e0f11c832
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..df6933b5e22d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "conn1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv1",
+ "routingWeight": 0,
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "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-11-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..ac3b12159922
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..f5b34d6458bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..ab3abe7a4aa9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {}
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..8be306abea56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "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-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..e510979cb64b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "peer": "test"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..780d370a5c95
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..c7afdc62ef2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..e3197ba07a33
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
new file mode 100644
index 000000000000..fecdda6e1d64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "p2s-vnet-test",
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..780d370a5c95
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..7390cbed78e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vpngw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "loc1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/ipConfigurations/default",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw1-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "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-11-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..5d99fee1260f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "customRoutes": {
+ "addressPrefixes": [
+ "101.168.0.6/32"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..815f51059627
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..05d4c879c7bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "vpnclientIpsecParams": {
+ "saLifeTimeSeconds": 86473,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup2",
+ "pfsGroup": "PFS2"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStartPacketCapture.json
new file mode 100644
index 000000000000..92d3ed9f67ac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStartPacketCapture.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
new file mode 100644
index 000000000000..5f220883e420
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}"
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": "\"{\"Status\":\"Successful\",\"Data\":null}\""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStopPacketCapture.json
new file mode 100644
index 000000000000..9f26d99efb7d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayStopPacketCapture.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..01ef8b4fb952
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..9cbde5db0bfa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName": "vpngw",
+ "parameters": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1"
+ }
+ ],
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "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-11-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..2731701cbd49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..edd07c65fba2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName": "vpngw",
+ "parameters": {
+ "vendor": "Cisco",
+ "deviceFamily": "ISR",
+ "firmwareVersion": "IOS 15.1 (Preview)"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": "! Microsoft Corporation\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Sample VPN tunnel configuration template for IOS-based devices\r\n!\r\n! This configuration template applies to Cisco VPN devices running IOS 15.1 or beyond (ISR or ASR)\r\n!\r\n\r\n\r\n\t\t\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! ACL rules\r\n!\r\n! Some VPN devices require explicit ACL rules to allow cross-premises traffic:\r\n!\r\n! 1. Allow traffic between on premises address ranges and VNet address ranges\r\n! 2. Allow IKE traffic (UDP:500) between on premises VPN devices and Azure VPN gateway\r\n! 3. Allow IPsec traffic (Proto:ESP) between on premises VPN devices and Azure VPN gateway\r\n!\r\n\t\t\r\naccess-list 101 permit ip 10.1.0.0 0.0.255.255 10.0.0.0 0.0.255.255\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Internet Key Exchange (IKE) configuration\r\n!\r\n! This section specifies the authentication, encryption, hashing, and Diffie-Hellman group parameters for IKE\r\n! main mode or phase 1\r\n!\r\n\r\ncrypto ikev2 proposal SwaggerS2S-proposal\r\n encryption DES3\r\n integrity SHA384\r\n group DHGroup24\r\n lifetime 3600\r\n exit\r\n\r\ncrypto ikev2 policy SwaggerS2S-policy\r\n proposal SwaggerS2S-proposal\r\n exit\r\n\r\ncrypto ikev2 keyring SwaggerBranch-keyring\r\n\t\t\r\n\t\tpeer 52.173.199.254\r\n\t\taddress 52.173.199.254\r\n\t\tpre-shared-key lALEHuppeopJmA94exRNiRr2QzuZ6lOsvzu5IlJUEA6LthbTc8g5MTT86MCsGNMzGkTAaLuLnEJoD1Cn4cIlr94qKZm9drsgllzWvsPNezS71stAkaW1Bb7h6GBnDlDP\r\n exit\r\n\r\ncrypto ikev2 profile SwaggerS2S-profile\r\n match address local 10.3.0.0\r\n\tmatch identity remote address 52.173.199.254 255.255.255.255\r\n\t\t\r\n authentication remote pre-share\r\n authentication local pre-share\r\n keyring SwaggerBranch-keyring\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! IPsec configuration\r\n!\r\n! This section specifies encryption, authentication, tunnel mode properties for the Phase 2 negotiation\r\n!\r\ncrypto ipsec transform-set SwaggerS2S-TransformSet DES3 DES3\r\n mode tunnel\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Crypto map configuration\r\n!\r\n! This section defines a crypto profile that binds the cross-premises network traffic to the IPsec and IKE\r\n! policy profiles for this connection. Then defines the VTI (virtual tunnel interface) with the crypto\r\n! profile. A random interface number (tunnel 1) was used with a random link local address (169.254.0.1/28)\r\n! for the tunnel interface. If either selection is already used in the VPN device, please select another\r\n! interface number or address. The only requirement is that they must not overlap with another interface\r\n! on the same VPN device.\r\n!\r\ncrypto ipsec profile SwaggerS2S-IPsecProfile\r\n set transform-set SwaggerS2S-TransformSet\r\n set ikev2-profile SwaggerS2S-profile\r\n set pfs None\r\n set security-association lifetime 3600\r\n exit\r\n\r\n\r\nint tunnel 52.173.199.254\r\n ip address 169.254.0.1 255.255.255.252\r\n ip tcp adjust-mss 1350\r\n tunnel source 10.3.0.0\r\n tunnel mode ipsec ipv4\r\n tunnel destination 52.173.199.254\r\n tunnel protection ipsec profile SwaggerS2S-IPsecProfile\r\n exit\r\n\r\n\tip route 10.0.0.0 255.255.0.0 tunnel 52.173.199.254 "
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json
new file mode 100644
index 000000000000..6ef5c6487e98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "vpn-gateway-test",
+ "virtualNetworkGatewayName": "vpngateway",
+ "api-version": "2019-11-01",
+ "request": {
+ "vpnConnectionIds": [
+ "vpnconnId1",
+ "vpnconnId2"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..72917f33be1c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-vpn-connection",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/connections/test-vpn-connection",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/connections",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-1"
+ },
+ "virtualNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/testrg-2/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-2"
+ },
+ "connectionType": "Vnet2Vnet",
+ "routingWeight": 22,
+ "enableBgp": true,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "trafficSelectorPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..a1db6cfa8607
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "subnet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.1.0/24",
+ "ipConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe"
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetResourceNavigationLinks.json
new file mode 100644
index 000000000000..18b5a3465a72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetResourceNavigationLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetServiceAssociationLinks.json
new file mode 100644
index 000000000000..12e05634408a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetServiceAssociationLinks.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..343467c31151
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "subnet1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.214.0/24",
+ "ipConfigurationProfiles": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1"
+ }
+ ],
+ "serviceAssociationLinks": [
+ {
+ "name": "serviceAssociationLink1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.Provider/resourceType"
+ }
+ }
+ ],
+ "serviceEndpoints": [],
+ "delegations": [
+ {
+ "name": "aciDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/virtualNetworks/subnets/action"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..7ff23da3bd3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "subnet1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.1.0/24",
+ "ipConfigurations": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe"
+ }
+ ],
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..72f709172a66
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..233af16b2b7d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..d7cee2738d3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": -1.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet",
+ "limit": -1.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet",
+ "limit": 3.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..7a417a1f6088
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "VirtualNetworkPeeringParameters": {
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..ab49b254e9de
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..a7026be8dc42
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..4a17585f2e89
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": false,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "13.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..7f70a3340008
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "parameters": {
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1"
+ }
+ },
+ "location": "centraluseuap"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..7ae96335fa5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..e74b5d6c5c12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "testvtap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..399825cfd208
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..8801a44e539e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..0ac4e943a40f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "tapParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap",
+ "location": "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/virtualNetworkTaps"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..3a20fa03a8db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-vnet",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterDelete.json
new file mode 100644
index 000000000000..bc2ef050af48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterGet.json
new file mode 100644
index 000000000000..4595ed84c42b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterListByResourceGroup.json
new file mode 100644
index 000000000000..9c58ff353234
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterListByResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterListBySubscription.json
new file mode 100644
index 000000000000..d55a13a6c4e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterListBySubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringDelete.json
new file mode 100644
index 000000000000..61c2159b3f5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "peeringName": "peering1",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualRouterName": "virtualRouter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringGet.json
new file mode 100644
index 000000000000..31349311f5bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringList.json
new file mode 100644
index 000000000000..d3597e85d2e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringPut.json
new file mode 100644
index 000000000000..b1a16176534c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPeeringPut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPut.json
new file mode 100644
index 000000000000..e384fee8faf3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualRouterPut.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..f65ed72de73e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..929c1877c009
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..a304cedd128b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ],
+ "type": "Basic"
+ }
+ },
+ {
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..9b84342fb3ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ],
+ "type": "Basic"
+ }
+ },
+ {
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..9213c12f821c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANPut.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "disableVpnEncryption": false,
+ "type": "Basic"
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..e54faa067a12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ],
+ "type": "Basic"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..e966b4f1f5bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "virtualWANName": "wan1"
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "body": {
+ "supportedProviders": [
+ {
+ "name": "AzureFirewall",
+ "url": "",
+ "type": "Native"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..146f80e3d7f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..5b7c23b7b56b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..e14de4e82a72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..0ec937148391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..229c15712a0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..605e0b831869
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e4f1cbf14ebf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..d21f5d40ed03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-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-11-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..ad19d9609ca0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..045c1e0eb273
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "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-11-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..c336b5ef86fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionList.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "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-11-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..7bef8b8c04b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnConnectionPut.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..762f73c04635
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..e78e041614d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayGet.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "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-11-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..a31b259d5e53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "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-11-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..a31b259d5e53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "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-11-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..a83455cbf3fe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayPut.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayReset.json
new file mode 100644
index 000000000000..c982d63a8928
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayReset.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "gatewayName": "vpngw",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..aa749ed389af
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..907d7b21ec0f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationGet.json
new file mode 100644
index 000000000000..9326ffd6d8cb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationList.json
new file mode 100644
index 000000000000..6a6a66978ce9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationList.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationListByResourceGroup.json
new file mode 100644
index 000000000000..a4bcce171c50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationListByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationPut.json
new file mode 100644
index 000000000000..3843f9b6e85b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationPut.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationUpdateTags.json
new file mode 100644
index 000000000000..237d5fa487d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnServerConfigurationUpdateTags.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "vpnServerConfigurationName": "vpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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"
+ }
+ ],
+ "vpnClientRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "vpnClientRevokedCertificates": [
+ {
+ "name": "vpnServerConfigVpnClientRevokedCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret": "123_abc",
+ "radiusServerRootCertificates": [
+ {
+ "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"
+ }
+ ],
+ "radiusClientRootCertificates": [
+ {
+ "name": "vpnServerConfigRadiusClientRootCert1",
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..776a0b35a63f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..9366f979a723
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "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-11-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkConnectionGet.json
new file mode 100644
index 000000000000..d44e9a7b087c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkConnectionGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "linkConnectionName": "Connection-Link1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkConnectionList.json
new file mode 100644
index 000000000000..e8101a2ca0be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkConnectionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2019-11-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-11-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkGet.json
new file mode 100644
index 000000000000..2f744a6dde8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "vpnSiteLinkName": "vpnSiteLink1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkListByVpnSite.json
new file mode 100644
index 000000000000..a3b2df3a687c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteLinkListByVpnSite.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..6c50f912f337
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "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-11-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..a72596ad06bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "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-11-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..386e3acdc571
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSitePut.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-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-11-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..8b72df5743c9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..afa618054142
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-11-01",
+ "virtualWANName": "wan1",
+ "request": {
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc"
+ ],
+ "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful. Follow the location header for sas-url to output blob."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafListAllPolicies.json
new file mode 100644
index 000000000000..43056c56c835
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafListAllPolicies.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafListPolicies.json
new file mode 100644
index 000000000000..e4cf15d7fe69
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafListPolicies.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..e23939ea3bcc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,258 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..99ec9d1e6253
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..42236e7bfe6d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/WafPolicyGet.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2019-11-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-11-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..bce9d8c0c75b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteCircuit.json
@@ -0,0 +1,2489 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_Delete",
+ "description": "Deletes the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Express Route Circuit Tags": {
+ "$ref": "./examples/ExpressRouteCircuitUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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 to AdvertisedPublicPrefixes."
+ },
+ "advertisedCommunities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The communities of bgp peering. Specified for microsoft peering."
+ },
+ "advertisedPublicPrefixesState": {
+ "readOnly": true,
+ "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 to 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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the express route circuit peering resource."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Who was the last to modify the peering."
+ },
+ "routeFilter": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to 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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-11-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..b9160ad32cdc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteCrossConnection.json
@@ -0,0 +1,1006 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_List",
+ "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnectionTags": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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-11-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteGateway.json
new file mode 100644
index 000000000000..a899fbeca2c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRouteGateway.json
@@ -0,0 +1,700 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways": {
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_ListBySubscription",
+ "x-ms-examples": {
+ "ExpressRouteGatewayListBySubscription": {
+ "$ref": "./examples/ExpressRouteGatewayListBySubscription.json"
+ }
+ },
+ "description": "Lists ExpressRoute gateways under a given subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGatewayList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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."
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security."
+ }
+ },
+ "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-11-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRoutePort.json
new file mode 100644
index 000000000000..f79cb7d0e0c4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/expressRoutePort.json
@@ -0,0 +1,869 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations": {
+ "get": {
+ "tags": [
+ "ExpressRoutePortsLocations"
+ ],
+ "operationId": "ExpressRoutePortsLocations_List",
+ "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortsLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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-11-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/firewallPolicy.json
new file mode 100644
index 000000000000..4a04906cdad7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/firewallPolicy.json
@@ -0,0 +1,982 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get FirewallPolicy": {
+ "$ref": "./examples/FirewallPolicyGet.json"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-11-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ipGroups.json
new file mode 100644
index 000000000000..c49ffb855a66
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/ipGroups.json
@@ -0,0 +1,422 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_Get",
+ "description": "Gets the specified ipGroups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting IpGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get_IpGroups": {
+ "$ref": "./examples/IpGroupsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_CreateOrUpdate",
+ "description": "Creates or updates an ipGroups in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ },
+ "description": "Parameters supplied to the create or update IpGroups operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected 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": {
+ "CreateOrUpdate_IpGroups": {
+ "$ref": "./examples/IpGroupsCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_UpdateGroups",
+ "description": "Updates tags of an IpGroups resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update ipGroups operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ipGroups resource.",
+ "schema": {
+ "$ref": "#/definitions/IpGroup"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update_IpGroups": {
+ "$ref": "./examples/IpGroupsUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_Delete",
+ "description": "Deletes the specified ipGroups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ipGroupsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ipGroups."
+ },
+ {
+ "$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."
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete_IpGroups": {
+ "$ref": "./examples/IpGroupsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_ListByResourceGroup",
+ "description": "Gets all IpGroups 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 ipGroups resources.",
+ "schema": {
+ "$ref": "#/definitions/IpGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListByResourceGroup_IpGroups": {
+ "$ref": "./examples/IpGroupsListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups": {
+ "get": {
+ "tags": [
+ "IpGroups"
+ ],
+ "operationId": "IpGroups_List",
+ "description": "Gets all IpGroups 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 ipGroups resources.",
+ "schema": {
+ "$ref": "#/definitions/IpGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List_IpGroups": {
+ "$ref": "./examples/IpGroupsListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "IpGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IpGroupPropertiesFormat",
+ "description": "Properties of the IpGroups."
+ },
+ "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": "The IpGroups resource information."
+ },
+ "IpGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpGroup"
+ },
+ "description": "The list of IpGroups information resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListIpGroups API service call."
+ },
+ "IpGroupPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the IpGroups resource.",
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource."
+ },
+ "firewalls": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of references to Azure resources that this IpGroups is associated with.",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ }
+ },
+ "description": "The IpGroups property information."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/loadBalancer.json
new file mode 100644
index 000000000000..f338067d3d69
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/loadBalancer.json
@@ -0,0 +1,2058 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": {
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Delete",
+ "description": "Deletes the specified load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update load balancer tags": {
+ "$ref": "./examples/LoadBalancerUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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 to the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference to the Public IP resource."
+ },
+ "publicIPPrefix": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to the Public IP Prefix resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "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."
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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 to 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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "$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": {
+ "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": "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the load balancer resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/natGateway.json
new file mode 100644
index 000000000000..5fcd6ce39741
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/natGateway.json
@@ -0,0 +1,472 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the NAT gateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/network.json
new file mode 100644
index 000000000000..36ddf5b6758a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/network.json
@@ -0,0 +1,335 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorDetails": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "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."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the 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 service."
+ },
+ "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-11-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkInterface.json
new file mode 100644
index 000000000000..d990d6bf19c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkInterface.json
@@ -0,0 +1,1522 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": {
+ "delete": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_Delete",
+ "description": "Deletes the specified network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network interface tags": {
+ "$ref": "./examples/NetworkInterfaceUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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 to 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 to ApplicationGatewayBackendAddressPool resource."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/BackendAddressPool"
+ },
+ "description": "The reference to 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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network."
+ },
+ "internalDomainNameSuffix": {
+ "readOnly": true,
+ "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 to a virtual machine.",
+ "readOnly": true
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference to 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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The MAC address of the network interface."
+ },
+ "primary": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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 to the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference to the public IP resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkProfile.json
new file mode 100644
index 000000000000..76896d5c681b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkProfile.json
@@ -0,0 +1,622 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}": {
+ "delete": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_Delete",
+ "description": "Deletes the specified network profile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NetworkProfile."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network profile tags": {
+ "$ref": "./examples/NetworkProfileUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group network profiles": {
+ "$ref": "./examples/NetworkProfileList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkProfilePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaces": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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 to 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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-11-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..35365ff2394a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkSecurityGroup.json
@@ -0,0 +1,974 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_Delete",
+ "description": "Deletes the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network security group tags": {
+ "$ref": "./examples/NetworkSecurityGroupUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network security group resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkWatcher.json
new file mode 100644
index 000000000000..881d35a2cb70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkWatcher.json
@@ -0,0 +1,4446 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}": {
+ "put": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CreateOrUpdate",
+ "description": "Creates or updates a network watcher in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ },
+ "description": "Parameters that define the network watcher resource."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network watcher": {
+ "$ref": "./examples/NetworkWatcherCreate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Get",
+ "description": "Gets the specified network watcher by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network watcher": {
+ "$ref": "./examples/NetworkWatcherGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Delete",
+ "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": "NOTE: This feature is currently in preview and still being tested for stability. 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": "NOTE: This feature is currently in preview and still being tested for stability. 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"
+ }
+ }
+ },
+ "/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 V1": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json"
+ },
+ "Create connection monitor V2": {
+ "$ref": "./examples/NetworkWatcherConnectionMonitorV2Create.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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}": {
+ "put": {
+ "tags": [
+ "FlowLogs"
+ ],
+ "operationId": "FlowLogs_CreateOrUpdate",
+ "description": "Create or update a flow log for the specified network security 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": "flowLogName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the flow log."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FlowLog"
+ },
+ "description": "Parameters that define the create or update flow log resource."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful. The operation returns the resulting flow log resource.",
+ "schema": {
+ "$ref": "#/definitions/FlowLog"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting flow log resource.",
+ "schema": {
+ "$ref": "#/definitions/FlowLog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update flow log": {
+ "$ref": "./examples/NetworkWatcherFlowLogCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "FlowLogs"
+ ],
+ "operationId": "FlowLogs_Get",
+ "description": "Gets a flow log resource 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": "flowLogName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the flow log resource."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a flow log resource.",
+ "schema": {
+ "$ref": "#/definitions/FlowLog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get flow log": {
+ "$ref": "./examples/NetworkWatcherFlowLogGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "FlowLogs"
+ ],
+ "operationId": "FlowLogs_Delete",
+ "description": "Deletes the specified flow log 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."
+ },
+ {
+ "name": "flowLogName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the flow log resource."
+ },
+ {
+ "$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 flow log": {
+ "$ref": "./examples/NetworkWatcherFlowLogDelete.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}/flowLogs": {
+ "get": {
+ "tags": [
+ "FlowLogs"
+ ],
+ "operationId": "FlowLogs_List",
+ "description": "Lists all flow log resources 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 flow log enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./networkWatcher.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List connection monitors": {
+ "$ref": "./examples/NetworkWatcherFlowLogList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "./network.json#/definitions/ErrorDetails",
+ "description": "The error details object."
+ }
+ }
+ },
+ "NetworkWatcher": {
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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 to the Virtual Network resource."
+ },
+ "targetSubnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to 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": "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": "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": {
+ "readOnly": true,
+ "type": "string",
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the packet capture session."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PacketCaptureParameters"
+ }
+ ],
+ "description": "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"
+ }
+ }
+ },
+ "FlowLogListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FlowLog"
+ },
+ "description": "Information about flow log resource."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "List of flow logs."
+ },
+ "FlowLog": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowLogPropertiesFormat",
+ "description": "Properties of the flow log."
+ },
+ "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": "A flow log resource."
+ },
+ "FlowLogPropertiesFormat": {
+ "description": "Parameters that define the configuration of flow log.",
+ "required": [
+ "targetResourceId",
+ "storageId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "ID of network security group to which flow log will be applied.",
+ "type": "string"
+ },
+ "targetResourceGuid": {
+ "readOnly": true,
+ "description": "Guid of network security group to which flow log will be applied.",
+ "type": "string"
+ },
+ "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."
+ },
+ "flowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the flow log."
+ }
+ }
+ },
+ "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.",
+ "properties": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties",
+ "description": "Parameters that define the configuration of traffic analytics."
+ }
+ }
+ },
+ "TrafficAnalyticsConfigurationProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "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": "The source of the connection."
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination",
+ "description": "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."
+ },
+ "preferredIPVersion": {
+ "$ref": "./network.json#/definitions/IPVersion",
+ "description": "Preferred IP version of the connection."
+ }
+ }
+ },
+ "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": "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 '*' and a single port in the range (0 - 65535)."
+ }
+ }
+ },
+ "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
+ }
+ },
+ "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."
+ },
+ "endpoints": {
+ "type": "array",
+ "description": "List of connection monitor endpoints.",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorEndpoint"
+ }
+ },
+ "testConfigurations": {
+ "type": "array",
+ "description": "List of connection monitor test configurations.",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorTestConfiguration"
+ }
+ },
+ "testGroups": {
+ "type": "array",
+ "description": "List of connection monitor test groups.",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorTestGroup"
+ }
+ },
+ "outputs": {
+ "type": "array",
+ "description": "List of connection monitor outputs.",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorOutput"
+ }
+ },
+ "notes": {
+ "type": "string",
+ "description": "Optional notes to be associated with the connection monitor."
+ }
+ },
+ "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."
+ },
+ "ConnectionMonitorEndpoint": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the connection monitor endpoint."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource ID of the connection monitor endpoint."
+ },
+ "address": {
+ "type": "string",
+ "description": "Address of the connection monitor endpoint (IP or domain name)."
+ },
+ "filter": {
+ "$ref": "#/definitions/ConnectionMonitorEndpointFilter",
+ "description": "Filter for sub-items within the endpoint."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes the connection monitor endpoint."
+ },
+ "ConnectionMonitorEndpointFilter": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "Include"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorEndpointFilterType",
+ "modelAsString": true
+ },
+ "description": "The behavior of the endpoint filter. Currently only 'Include' is supported."
+ },
+ "items": {
+ "type": "array",
+ "description": "List of items in the filter.",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorEndpointFilterItem"
+ }
+ }
+ },
+ "description": "Describes the connection monitor endpoint filter."
+ },
+ "ConnectionMonitorEndpointFilterItem": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "AgentAddress"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorEndpointFilterItemType",
+ "modelAsString": true
+ },
+ "description": "The type of item included in the filter. Currently only 'AgentAddress' is supported."
+ },
+ "address": {
+ "type": "string",
+ "description": "The address of the filter item."
+ }
+ },
+ "description": "Describes the connection monitor endpoint filter item."
+ },
+ "ConnectionMonitorTestGroup": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the connection monitor test group."
+ },
+ "disable": {
+ "type": "boolean",
+ "description": "Value indicating whether test group is disabled."
+ },
+ "testConfigurations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of test configuration names."
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of source endpoint names."
+ },
+ "destinations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of destination endpoint names."
+ }
+ },
+ "required": [
+ "name",
+ "testConfigurations",
+ "sources",
+ "destinations"
+ ],
+ "description": "Describes the connection monitor test group."
+ },
+ "ConnectionMonitorTestConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the connection monitor test configuration."
+ },
+ "testFrequencySec": {
+ "type": "integer",
+ "description": "The frequency of test evaluation, in seconds."
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "Tcp",
+ "Http",
+ "Icmp"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorTestConfigurationProtocol",
+ "modelAsString": true
+ },
+ "description": "The protocol to use in test evaluation."
+ },
+ "preferredIPVersion": {
+ "type": "string",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredIPVersion",
+ "modelAsString": true
+ },
+ "description": "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters."
+ },
+ "httpConfiguration": {
+ "$ref": "#/definitions/ConnectionMonitorHttpConfiguration",
+ "description": "The parameters used to perform test evaluation over HTTP."
+ },
+ "tcpConfiguration": {
+ "$ref": "#/definitions/ConnectionMonitorTcpConfiguration",
+ "description": "The parameters used to perform test evaluation over TCP."
+ },
+ "icmpConfiguration": {
+ "$ref": "#/definitions/ConnectionMonitorIcmpConfiguration",
+ "description": "The parameters used to perform test evaluation over ICMP."
+ },
+ "successThreshold": {
+ "$ref": "#/definitions/ConnectionMonitorSuccessThreshold",
+ "description": "The threshold for declaring a test successful."
+ }
+ },
+ "required": [
+ "name",
+ "protocol"
+ ],
+ "description": "Describes a connection monitor test configuration."
+ },
+ "ConnectionMonitorHttpConfiguration": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "description": "The port to connect to."
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method to use.",
+ "enum": [
+ "Get",
+ "Post"
+ ],
+ "x-ms-enum": {
+ "name": "HTTPConfigurationMethod",
+ "modelAsString": true
+ }
+ },
+ "path": {
+ "type": "string",
+ "description": "The path component of the URI. For instance, \"/dir1/dir2\"."
+ },
+ "requestHeaders": {
+ "type": "array",
+ "description": "The HTTP headers to transmit with the request.",
+ "items": {
+ "$ref": "#/definitions/HTTPHeader"
+ }
+ },
+ "validStatusCodeRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "HTTP status codes to consider successful. For instance, \"2xx,301-304,418\"."
+ },
+ "preferHTTPS": {
+ "type": "boolean",
+ "description": "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit."
+ }
+ },
+ "description": "Describes the HTTP configuration."
+ },
+ "ConnectionMonitorTcpConfiguration": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "description": "The port to connect to."
+ },
+ "disableTraceRoute": {
+ "type": "boolean",
+ "description": "Value indicating whether path evaluation with trace route should be disabled."
+ }
+ },
+ "description": "Describes the TCP configuration."
+ },
+ "ConnectionMonitorIcmpConfiguration": {
+ "properties": {
+ "disableTraceRoute": {
+ "type": "boolean",
+ "description": "Value indicating whether path evaluation with trace route should be disabled."
+ }
+ },
+ "description": "Describes the ICMP configuration."
+ },
+ "ConnectionMonitorSuccessThreshold": {
+ "properties": {
+ "checksFailedPercent": {
+ "type": "integer",
+ "description": "The maximum percentage of failed checks permitted for a test to evaluate as successful."
+ },
+ "roundTripTimeMs": {
+ "type": "integer",
+ "description": "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful."
+ }
+ },
+ "description": "Describes the threshold for declaring a test successful."
+ },
+ "ConnectionMonitorOutput": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Connection monitor output destination type. Currently, only \"Workspace\" is supported.",
+ "enum": [
+ "Workspace"
+ ],
+ "x-ms-enum": {
+ "name": "OutputType",
+ "modelAsString": true
+ }
+ },
+ "workspaceSettings": {
+ "$ref": "#/definitions/ConnectionMonitorWorkspaceSettings",
+ "description": "Describes the settings for producing output into a log analytics workspace."
+ }
+ },
+ "description": "Describes a connection monitor output destination."
+ },
+ "ConnectionMonitorWorkspaceSettings": {
+ "properties": {
+ "workspaceResourceId": {
+ "type": "string",
+ "description": "Log analytics workspace resource ID."
+ }
+ },
+ "description": "Describes the settings for producing output into a log analytics workspace."
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the connection monitor."
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the connection monitor was started."
+ },
+ "monitoringStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The monitoring status of the connection monitor."
+ },
+ "connectionMonitorType": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "MultiEndpoint",
+ "SingleSourceDestination"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorType",
+ "modelAsString": true
+ },
+ "description": "Type of 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-11-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/operation.json
new file mode 100644
index 000000000000..7909be4fe5e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/operation.json
@@ -0,0 +1,271 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Network/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Network Rest API operations.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateEndpoint.json
new file mode 100644
index 000000000000..73cde2747f60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateEndpoint.json
@@ -0,0 +1,572 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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-11-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json
new file mode 100644
index 000000000000..5f90e7b95d5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json
@@ -0,0 +1,1068 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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}": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_GetPrivateEndpointConnection",
+ "description": "Get the specific private end point connection by specific private link service in the 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": "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"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting private end point connection resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get private end point connection": {
+ "$ref": "./examples/PrivateLinkServiceGetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLinkServices"
+ ],
+ "operationId": "PrivateLinkServices_ListPrivateEndpointConnections",
+ "description": "Gets all private end point connections for a specific 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": {
+ "200": {
+ "description": "Request successful. The operation returns a list of private end point connection resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List private link service in resource group": {
+ "$ref": "./examples/PrivateLinkServiceListPrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private link service resource."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "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."
+ },
+ "enableProxyProtocol": {
+ "type": "boolean",
+ "description": "Whether the private link service is enabled for proxy protocol or not."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ },
+ "linkIdentifier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The consumer link id."
+ }
+ },
+ "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."
+ },
+ "actionsRequired": {
+ "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."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "A list of PrivateEndpointConnection resources for a specific private link service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListPrivateEndpointConnection 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-11-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/publicIpAddress.json
new file mode 100644
index 000000000000..f6b3f0c96dcc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/publicIpAddress.json
@@ -0,0 +1,545 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}": {
+ "delete": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_Delete",
+ "description": "Deletes the specified public IP address.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP address tags": {
+ "$ref": "./examples/PublicIpAddressUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the public IP address resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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."
+ },
+ "protectedIP": {
+ "readOnly": false,
+ "type": "boolean",
+ "description": "Enables DDoS protection on the public IP."
+ }
+ },
+ "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-11-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/publicIpPrefix.json
new file mode 100644
index 000000000000..d57d98f0403d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/publicIpPrefix.json
@@ -0,0 +1,485 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}": {
+ "delete": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_Delete",
+ "description": "Deletes the specified public IP prefix.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the PublicIpPrefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP prefix tags": {
+ "$ref": "./examples/PublicIpPrefixUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The allocated Prefix."
+ },
+ "publicIPAddresses": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/routeFilter.json
new file mode 100644
index 000000000000..62403c842060
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/routeFilter.json
@@ -0,0 +1,822 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}": {
+ "delete": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Delete",
+ "x-ms-examples": {
+ "RouteFilterDelete": {
+ "$ref": "./examples/RouteFilterDelete.json"
+ }
+ },
+ "description": "Deletes the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_UpdateTags",
+ "description": "Updates tags of 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": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update route filter tags."
+ },
+ {
+ "$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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route filter tags": {
+ "$ref": "./examples/RouteFilterUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit peerings."
+ },
+ "ipv6Peerings": {
+ "readOnly": true,
+ "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-11-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/routeTable.json
new file mode 100644
index 000000000000..e2dc44d1645a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/routeTable.json
@@ -0,0 +1,755 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": {
+ "delete": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_Delete",
+ "description": "Deletes the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "200": {
+ "description": "Request successful. Operation to delete was accepted."
+ },
+ "202": {
+ "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route table tags": {
+ "$ref": "./examples/RouteTableUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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-11-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceCommunity.json
new file mode 100644
index 000000000000..e7665a672085
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceCommunity.json
@@ -0,0 +1,158 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities": {
+ "get": {
+ "tags": [
+ "BgpServiceCommunities"
+ ],
+ "operationId": "BgpServiceCommunities_List",
+ "x-ms-examples": {
+ "ServiceCommunityList": {
+ "$ref": "./examples/ServiceCommunityList.json"
+ }
+ },
+ "description": "Gets all the available bgp service communities.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of BgpServiceCommunity resources.",
+ "schema": {
+ "$ref": "#/definitions/BgpServiceCommunityListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..6c98b23227e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceEndpointPolicy.json
@@ -0,0 +1,742 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}": {
+ "delete": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Delete",
+ "description": "Deletes the specified service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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_UpdateTags",
+ "description": "Updates tags of a 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": "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update service endpoint policy tags": {
+ "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-11-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceTags.json
new file mode 100644
index 000000000000..439a49531beb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/serviceTags.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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/usage.json
new file mode 100644
index 000000000000..ebd7a496d0b4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/usage.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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "operationId": "Usages_List",
+ "description": "List network usages for a subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location where resource usage is queried.",
+ "pattern": "^[-\\w\\._ ]+$"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Usage resources.",
+ "schema": {
+ "$ref": "#/definitions/UsagesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": "The 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-11-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetwork.json
new file mode 100644
index 000000000000..0180878fbfc3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetwork.json
@@ -0,0 +1,1951 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Delete",
+ "description": "Deletes the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "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": {
+ "readOnly": true,
+ "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 to the NetworkSecurityGroup resource."
+ },
+ "routeTable": {
+ "$ref": "./routeTable.json#/definitions/RouteTable",
+ "description": "The reference to 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": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "An array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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 to 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 to 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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resourceGuid property of the Virtual Network resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-11-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..2884623a7ed0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetworkGateway.json
@@ -0,0 +1,3624 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_CreateOrUpdate",
+ "description": "Creates or updates a virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ },
+ "description": "Parameters supplied to create or update virtual network gateway operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateLocalNetworkGatewayTags": {
+ "$ref": "./examples/LocalNetworkGatewayUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayVpnclientConnectionHealth": {
+ "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.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}/disconnectVirtualNetworkGatewayVpnConnections": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_DisconnectVirtualNetworkGatewayVpnConnections",
+ "description": "Disconnect vpn connections of virtual network gateway 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": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./virtualWan.json#/definitions/P2SVpnConnectionRequest"
+ },
+ "description": "The parameters are supplied to disconnect vpn connections."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation disconnects the requested vpn connections."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Disconnect VpnConnections from Virtual Network Gateway": {
+ "$ref": "./examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.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 to the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to 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": {
+ "readOnly": true,
+ "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 to 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 to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway."
+ },
+ "vpnClientConfiguration": {
+ "$ref": "#/definitions/VpnClientConfiguration",
+ "description": "The reference to 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 to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient."
+ },
+ "resourceGuid": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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 to 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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "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-11-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..404410df4c30
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualNetworkTap.json
@@ -0,0 +1,426 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_Delete",
+ "description": "Deletes the specified virtual network tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network tap."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update virtual network tap tags": {
+ "$ref": "./examples/VirtualNetworkTapUpdateTags.json"
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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 to 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-11-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualRouter.json
new file mode 100644
index 000000000000..69673ad157a9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualRouter.json
@@ -0,0 +1,698 @@
+{
+ "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-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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": "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": 0,
+ "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": "Name of the virtual router peering that is unique within a virtual router."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "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": 0,
+ "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-11-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualWan.json
new file mode 100644
index 000000000000..73396d1e8f46
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/virtualWan.json
@@ -0,0 +1,4604 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2019-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}": {
+ "get": {
+ "operationId": "VirtualWans_Get",
+ "x-ms-examples": {
+ "VirtualWANGet": {
+ "$ref": "./examples/VirtualWANGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualWAN.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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": "./network.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/{virtualHubName}/routeTables/{routeTableName}": {
+ "get": {
+ "operationId": "VirtualHubRouteTableV2s_Get",
+ "x-ms-examples": {
+ "VirtualHubVirtualHubRouteTableV2Get": {
+ "$ref": "./examples/VirtualHubRouteTableV2Get.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualHubRouteTableV2.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHubRouteTableV2."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "default": {
+ "description": "Error.",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualHubRouteTableV2s_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2Put": {
+ "$ref": "./examples/VirtualHubRouteTableV2Put.json"
+ }
+ },
+ "description": "Creates a VirtualHubRouteTableV2 resource if it doesn't exist else updates the existing VirtualHubRouteTableV2.",
+ "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": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubRouteTableV2Parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ },
+ "description": "Parameters supplied to create or update VirtualHubRouteTableV2."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHubRouteTableV2 created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "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": "VirtualHubRouteTableV2s_Delete",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2Delete": {
+ "$ref": "./examples/VirtualHubRouteTableV2Delete.json"
+ }
+ },
+ "description": "Deletes a VirtualHubRouteTableV2.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHubRouteTableV2."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHubRouteTableV2."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualHubRouteTableV2 deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualHubRouteTableV2 deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualHubRouteTableV2s 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/{virtualHubName}/routeTables": {
+ "get": {
+ "operationId": "VirtualHubRouteTableV2s_List",
+ "x-ms-examples": {
+ "VirtualHubRouteTableV2List": {
+ "$ref": "./examples/VirtualHubRouteTableV2List.json"
+ }
+ },
+ "description": "Retrieves the details of all VirtualHubRouteTableV2s.",
+ "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 VirtualHubRouteTableV2s for the VirtualHub.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubRouteTableV2sResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{p2sVpnGatewayName}/disconnectP2sVpnConnections": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_DisconnectP2sVpnConnections",
+ "description": "Disconnect P2S vpn connections 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": "p2sVpnGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2S Vpn Gateway."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnConnectionRequest"
+ },
+ "description": "The parameters are supplied to disconnect p2s vpn connections."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation disconnects the requested vpn connections."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Disconnect VpnConnections from P2sVpn Gateway": {
+ "$ref": "./examples/P2sVpnGatewaysDisconnectP2sVpnConnections.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."
+ },
+ "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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual WAN resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the VirtualWAN."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the virtual hub resource."
+ },
+ "securityProviderName": {
+ "type": "string",
+ "description": "The Security Provider name."
+ },
+ "virtualHubRouteTableV2s": {
+ "type": "array",
+ "description": "List of all virtual hub route table v2s associated with this VirtualHub.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ }
+ },
+ "sku": {
+ "type": "string",
+ "description": "The sku of this VirtualHub."
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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": {
+ "readOnly": true,
+ "$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."
+ },
+ "vpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate"
+ },
+ "description": "VPN client root certificate of VpnServerConfiguration."
+ },
+ "vpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate"
+ },
+ "description": "VPN client revoked certificate of VpnServerConfiguration."
+ },
+ "radiusServerRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate"
+ },
+ "description": "Radius Server root certificate of VpnServerConfiguration."
+ },
+ "radiusClientRootCertificates": {
+ "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": {
+ "readOnly": true,
+ "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": "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": {
+ "readOnly": true,
+ "$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": "./network.json#/definitions/SubResource",
+ "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 to the address space resource which represents Address space for P2S VpnClient."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$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."
+ },
+ "VirtualHubRouteTableV2Properties": {
+ "properties": {
+ "routes": {
+ "type": "array",
+ "description": "List of all routes.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteV2"
+ }
+ },
+ "attachedConnections": {
+ "type": "array",
+ "description": "List of all connections attached to this route table v2.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "provisioningState": {
+ "$ref": "./network.json#/definitions/ProvisioningState",
+ "readOnly": true,
+ "description": "The provisioning state of the virtual hub route table v2 resource."
+ }
+ },
+ "description": "Parameters for VirtualHubRouteTableV2."
+ },
+ "VirtualHubRouteTableV2": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualHubRouteTableV2Properties",
+ "description": "Properties of the virtual hub route table v2."
+ },
+ "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": "VirtualHubRouteTableV2 Resource."
+ },
+ "VirtualHubRouteV2": {
+ "properties": {
+ "destinationType": {
+ "type": "string",
+ "description": "The type of destinations."
+ },
+ "destinations": {
+ "type": "array",
+ "description": "List of all destinations.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of next hops."
+ },
+ "nextHops": {
+ "type": "array",
+ "description": "NextHops ip address.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "VirtualHubRouteTableV2 route."
+ },
+ "ListVirtualHubRouteTableV2sResult": {
+ "description": "List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRouteTableV2"
+ },
+ "description": "List of VirtualHubRouteTableV2s."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "P2SVpnConnectionRequest": {
+ "description": "List of p2s vpn connections to be disconnected.",
+ "properties": {
+ "vpnConnectionIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of p2s vpn connection Ids."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..89562aa3062c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json
@@ -0,0 +1,374 @@
+{
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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-11-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..d100152e7711
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/vmssPublicIpAddress.json
@@ -0,0 +1,241 @@
+{
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json
new file mode 100644
index 000000000000..6f6258785e47
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json
@@ -0,0 +1,743 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "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": {
+ "readOnly": true,
+ "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": "The PolicySettings for policy.",
+ "$ref": "#/definitions/PolicySettings"
+ },
+ "customRules": {
+ "description": "The 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"
+ },
+ "httpListeners": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A collection of references to application gateway http listeners."
+ },
+ "pathBasedRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A collection of references to application gateway path rules."
+ }
+ }
+ },
+ "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": "The Exclusions that are applied on the policy."
+ },
+ "managedRuleSets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSet"
+ },
+ "description": "The managed rule sets that are associated with the policy."
+ }
+ }
+ },
+ "PolicySettings": {
+ "description": "Defines contents of a web application firewall global configuration.",
+ "properties": {
+ "state": {
+ "description": "The state of the policy.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallEnabledState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "The mode of the policy.",
+ "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": "Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.",
+ "type": "integer"
+ },
+ "ruleType": {
+ "description": "The rule type.",
+ "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": "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": "The selector of match variable.",
+ "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": "The operator to be matched.",
+ "type": "string",
+ "enum": [
+ "IPMatch",
+ "Equal",
+ "Contains",
+ "LessThan",
+ "GreaterThan",
+ "LessThanOrEqual",
+ "GreaterThanOrEqual",
+ "BeginsWith",
+ "EndsWith",
+ "Regex",
+ "GeoMatch"
+ ],
+ "x-ms-enum": {
+ "name": "WebApplicationFirewallOperator",
+ "modelAsString": true
+ }
+ },
+ "negationConditon": {
+ "description": "Whether 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": "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": "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 756be5069dbe..b3d87ad9dec0 100644
--- a/specification/network/resource-manager/readme.go.md
+++ b/specification/network/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-09
- tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-06
@@ -41,6 +42,15 @@ batch:
- tag: package-2015-05-preview
```
+### Tag: package-2019-09 and go
+
+These settings apply only when `--tag=package-2019-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-09-01/$(namespace)
+```
+
### Tag: package-2019-08 and go
These settings apply only when `--tag=package-2019-08 --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 ee90dba87896..605a36c2ce86 100644
--- a/specification/network/resource-manager/readme.java.md
+++ b/specification/network/resource-manager/readme.java.md
@@ -16,17 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-09
- tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2019-02
- - tag: package-2018-12
- - tag: package-2018-08
- - tag: package-2018-07
- - tag: package-2018-06
- - tag: package-2018-04
- - tag: package-2017-10
+```
+
+### Tag: package-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.network.v2019_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/network/mgmt-v2019_09_01
+ regenerate-manager: true
+ generate-interface: true
```
### Tag: package-2019-08 and java
@@ -37,7 +45,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(python)
+python:
+ namespace: azure.mgmt.network.v2019_09_01
+ output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2019_09_01
+```
+
### Tag: package-2019-08 and python
These settings apply only when `--tag=package-2019-08 --python` is specified on the command line.
diff --git a/specification/network/resource-manager/readme.typescript.md b/specification/network/resource-manager/readme.typescript.md
index 3a9d0388b7c3..e842ddd53dee 100644
--- a/specification/network/resource-manager/readme.typescript.md
+++ b/specification/network/resource-manager/readme.typescript.md
@@ -15,6 +15,7 @@ typescript:
typescript:
package-name: "@azure/arm-network"
output-folder: "$(typescript-sdks-folder)/sdk/network/arm-network"
+ clear-output-folder: true
```
### Profile: profile-hybrid-2019-03-01
@@ -25,6 +26,7 @@ These settings apply only when `--profile=profile-hybrid-2019-03-01` is specifie
typescript:
package-name: "@azure/arm-network-profile-2019-03-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/network/arm-network-profile-2019-03-01-hybrid"
+ clear-output-folder: true
batch:
- tag: profile-hybrid-2019-03-01
```
diff --git a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/examples/NotificationHubs/NotificationHubCreate.json b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/examples/NotificationHubs/NotificationHubCreate.json
index a08629736870..772d71feeb39 100644
--- a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/examples/NotificationHubs/NotificationHubCreate.json
+++ b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/examples/NotificationHubs/NotificationHubCreate.json
@@ -6,6 +6,7 @@
"api-version": "2017-04-01",
"subscriptionId": "29cfa613-cbbc-4512-b1d6-1b3a92c7fa40",
"parameters": {
+ "location": "eastus",
"properties": {}
}
},
@@ -15,7 +16,7 @@
"id": "/subscriptions/29cfa613-cbbc-4512-b1d6-1b3a92c7fa40/resourceGroups/sdkresourceGroup/providers/Microsoft.NotificationHubs/namespaces/nh-sdk-ns/notificationHubs/nh-sdk-hub",
"name": "nh-sdk-hub",
"type": "Microsoft.NotificationHubs/namespaces/notificationHubs",
- "location": "South Central US",
+ "location": "eastus",
"tags": null,
"properties": {
"registrationTtl": "10675199.02:48:05.4775807",
@@ -28,7 +29,7 @@
"id": "/subscriptions/29cfa613-cbbc-4512-b1d6-1b3a92c7fa40/resourceGroups/sdkresourceGroup/providers/Microsoft.NotificationHubs/namespaces/nh-sdk-ns/notificationHubs/nh-sdk-hub",
"name": "nh-sdk-hub",
"type": "Microsoft.NotificationHubs/namespaces/notificationHubs",
- "location": "South Central US",
+ "location": "eastus",
"tags": null,
"properties": {
"registrationTtl": "10675199.02:48:05.4775807",
diff --git a/specification/notificationhubs/resource-manager/readme.cli.md b/specification/notificationhubs/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..ce55fe094b0a
--- /dev/null
+++ b/specification/notificationhubs/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:
+ namespace: azure.mgmt.notificationhubs
+ flatten-all: true
+ test-scenario:
+ - name: NameSpaceCreate
+ - name: NotificationHubCreate
+ cmd-override:
+ "^notificationhubs$": "* namespace"
+ "^notificationhubs notification-hub$": "* hub"
+```
diff --git a/specification/notificationhubs/resource-manager/readme.md b/specification/notificationhubs/resource-manager/readme.md
index 344d8dc3a37d..776209cfbe47 100644
--- a/specification/notificationhubs/resource-manager/readme.md
+++ b/specification/notificationhubs/resource-manager/readme.md
@@ -173,7 +173,7 @@ Please also specify `--azure-libraries-for-java= Org.OData.Capabilities.V1.ConformanceLevelType/Minimal application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true "
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryManagementGroupScope.json
deleted file mode 100644
index f74c50eda8bf..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryManagementGroupScope.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "managementGroupsNamespace": "Microsoft.Management",
- "managementGroupName": "myManagementGroup",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T22:19:18.8896095Z",
- "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef",
- "resourceType": "/Microsoft.Compute/virtualMachines/extensions",
- "resourceLocation": "westeurope",
- "resourceGroup": "myrg",
- "resourceTags": "tbd",
- "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "15521232277412542086",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T22:19:18.8896095Z",
- "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/95816fce53454b15a7ed803d",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/a2c0414b-82e4-459d-97d5-94c79a89232c",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef",
- "resourceType": "/Microsoft.Compute/virtualMachines/extensions",
- "resourceLocation": "westeurope",
- "resourceGroup": "myrg",
- "resourceTags": "tbd",
- "policyAssignmentName": "95816fce53454b15a7ed803d",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"eastus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "a2c0414b-82e4-459d-97d5-94c79a89232c",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "",
- "policySetDefinitionName": "",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryNestedResourceScope.json
deleted file mode 100644
index efdee749f550..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryNestedResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceGroupScope.json
deleted file mode 100644
index 172c08a1003a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceGroupScope.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceScope.json
deleted file mode 100644
index 2c1e88e196e1..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QueryResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.8473851Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.5842458Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json
deleted file mode 100644
index f22c55656fbc..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json
deleted file mode 100644
index bd7a0fd4f478..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.8473851Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.5842458Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionScope.json
deleted file mode 100644
index b86d5e25e82a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_QuerySubscriptionScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json
deleted file mode 100644
index 2d44d5f45108..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
- "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-05T22:34:02.3475017Z",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myResourceGroup",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-05T22:34:01.6135357Z",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myResourceGroup",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndAggregateOnly.json
deleted file mode 100644
index 5bbea899ec5d..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndAggregateOnly.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny'",
- "$apply": "aggregate($count as NumDenyStates)"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "NumDenyStates": 6
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
deleted file mode 100644
index b909dd8c9312..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "IsCompliant eq false and (PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny')",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumAuditDenyNonComplianceRecords))",
- "$orderby": "NumAuditDenyNonComplianceRecords desc",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
- "NumAuditDenyNonComplianceRecords": 10
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
- "NumAuditDenyNonComplianceRecords": 10
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
deleted file mode 100644
index 6cc2b32c348a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$from": "2018-01-05T18:00:00Z",
- "$filter": "IsCompliant eq false and (PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append')",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/enable monitoring in azure security center",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
- "policyDefinitionAction": "auditifnotexists",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
- "policyDefinitionAction": "auditifnotexists",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndMultipleGroups.json
deleted file mode 100644
index b97bd3c718f5..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_FilterAndMultipleGroups.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$filter": "IsCompliant eq false",
- "$apply": "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId, ResourceId))/groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId), aggregate($count as NumNonCompliantResources))",
- "$orderby": "NumNonCompliantResources desc",
- "$top": 10
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 10,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "14799174781370023846",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "1679708035638239273",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "14799174781370023846",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "1679708035638239273",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 552
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "8935913113203900114",
- "NumNonCompliantResources": 544
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 526
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "2124621540977569058",
- "NumNonCompliantResources": 509
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_GetMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_GetMetadata.json
deleted file mode 100644
index fa7a7ba8dd72..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_GetMetadata.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/xml"
- },
- "body": " Org.OData.Capabilities.V1.ConformanceLevelType/Minimal application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true "
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_ListOperations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_ListOperations.json
deleted file mode 100644
index d92a9e40bcf8..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_ListOperations.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.count": 3,
- "value": [
- {
- "name": "default/queryResults/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy Events",
- "operation": "Query Policy Events",
- "description": "Query information about policy events."
- }
- },
- {
- "name": "default/queryResults/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy States",
- "operation": "Query Policy States",
- "description": "Query information about policy states."
- }
- },
- {
- "name": "latest/queryResults/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy Latest States",
- "operation": "Query Policy Latest States",
- "description": "Query information about policy latest states."
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryManagementGroupScope.json
deleted file mode 100644
index 056f90186abe..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryManagementGroupScope.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "managementGroupsNamespace": "Microsoft.Management",
- "managementGroupName": "myManagementGroup",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:41:47Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.insights/autoscalesettings",
- "resourceLocation": "westus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "15521232277412542086"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:41:47Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.insights/autoscalesettings",
- "resourceLocation": "westus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "",
- "policySetDefinitionName": "",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": ""
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryNestedResourceScope.json
deleted file mode 100644
index edd479e4c1cc..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryNestedResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceGroupScope.json
deleted file mode 100644
index 5e2d9f295d2f..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceGroupScope.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T18:42:42Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Storage/storageAccounts",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T18:42:42Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Storage/storageAccounts",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceScope.json
deleted file mode 100644
index 5ed1a700ca7d..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QueryResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
deleted file mode 100644
index 576fd8712c44..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
deleted file mode 100644
index 43c7d7368139..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionScope.json
deleted file mode 100644
index 84f023c0c4a2..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_QuerySubscriptionScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:48:05Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Network/publicIPAddresses",
- "resourceLocation": "eastus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "Enable Monitoring in Azure Security Center",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
- "policyDefinitionAction": "AuditIfNotExists",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:48:05Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Network/publicIPAddresses",
- "resourceLocation": "eastus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "9ac09b0657d942e5ad4041a6",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
- "policyDefinitionAction": "AuditIfNotExists",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
deleted file mode 100644
index 9cc4e6079eb1..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-10-17-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
- "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-06T17:58:00Z",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myrg1",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/mysa1"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-06T17:58:00Z",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myrg2",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg2/providers/Microsoft.Storage/storageAccounts/mysa2"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyEvents.json
deleted file mode 100644
index aa5b43bebfef..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyEvents.json
+++ /dev/null
@@ -1,662 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "PolicyEventsClient",
- "version": "2017-10-17-preview"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForManagementGroup",
- "description": "Queries policy events for the resources under the management group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupsNamespaceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at management group scope": {
- "$ref": "./examples/PolicyEvents_QueryManagementGroupScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForSubscription",
- "description": "Queries policy events for the resources under the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at subscription scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionScope.json"
- },
- "Time range; sort, select and limit": {
- "$ref": "./examples/PolicyEvents_TimeRangeSortSelectTop.json"
- },
- "Filter and group with aggregate": {
- "$ref": "./examples/PolicyEvents_FilterAndGroupByWithAggregate.json"
- },
- "Filter and group without aggregate": {
- "$ref": "./examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json"
- },
- "Filter and aggregate only": {
- "$ref": "./examples/PolicyEvents_FilterAndAggregateOnly.json"
- },
- "Filter and multiple groups": {
- "$ref": "./examples/PolicyEvents_FilterAndMultipleGroups.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForResourceGroup",
- "description": "Queries policy events for the resources under the resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at resource group scope": {
- "$ref": "./examples/PolicyEvents_QueryResourceGroupScope.json"
- }
- }
- }
- },
- "/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForResource",
- "description": "Queries policy events for the resource.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/resourceIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at resource scope": {
- "$ref": "./examples/PolicyEvents_QueryResourceScope.json"
- },
- "Query at subscription level resource scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json"
- },
- "Query at nested resource scope": {
- "$ref": "./examples/PolicyEvents_QueryNestedResourceScope.json"
- },
- "Query at subscription level nested resource scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata": {
- "get": {
- "operationId": "PolicyEvents_GetMetadata",
- "description": "Gets OData metadata XML document.",
- "produces": [
- "application/xml"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/scopeParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OData metadata XML document.",
- "schema": {
- "$ref": "#/definitions/MetadataDocument"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Get metadata": {
- "$ref": "./examples/PolicyEvents_GetMetadata.json"
- }
- }
- }
- }
- },
- "definitions": {
- "PolicyEventsQueryResults": {
- "description": "Query results.",
- "properties": {
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "@odata.count": {
- "description": "OData entity count; represents the number of policy event records returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- },
- "value": {
- "description": "Query results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyEvent"
- }
- }
- }
- },
- "PolicyEvent": {
- "type": "object",
- "description": "Policy event record.",
- "properties": {
- "@odata.id": {
- "description": "OData entity ID; always set to null since policy event records do not have an entity ID.",
- "type": "string"
- },
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "timestamp": {
- "description": "Timestamp for the policy event record.",
- "type": "string",
- "format": "date-time"
- },
- "resourceId": {
- "description": "Resource ID.",
- "type": "string"
- },
- "policyAssignmentId": {
- "description": "Policy assignment ID.",
- "type": "string"
- },
- "policyDefinitionId": {
- "description": "Policy definition ID.",
- "type": "string"
- },
- "effectiveParameters": {
- "description": "Effective parameters for the policy assignment.",
- "type": "string"
- },
- "isCompliant": {
- "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.",
- "type": "boolean"
- },
- "subscriptionId": {
- "description": "Subscription ID.",
- "type": "string"
- },
- "resourceType": {
- "description": "Resource type.",
- "type": "string"
- },
- "resourceLocation": {
- "description": "Resource location.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group name.",
- "type": "string"
- },
- "resourceTags": {
- "description": "List of resource tags.",
- "type": "string"
- },
- "policyAssignmentName": {
- "description": "Policy assignment name.",
- "type": "string"
- },
- "policyAssignmentOwner": {
- "description": "Policy assignment owner.",
- "type": "string"
- },
- "policyAssignmentParameters": {
- "description": "Policy assignment parameters.",
- "type": "string"
- },
- "policyAssignmentScope": {
- "description": "Policy assignment scope.",
- "type": "string"
- },
- "policyDefinitionName": {
- "description": "Policy definition name.",
- "type": "string"
- },
- "policyDefinitionAction": {
- "description": "Policy definition action, i.e. effect.",
- "type": "string"
- },
- "policyDefinitionCategory": {
- "description": "Policy definition category.",
- "type": "string"
- },
- "policySetDefinitionId": {
- "description": "Policy set definition ID, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionName": {
- "description": "Policy set definition name, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionOwner": {
- "description": "Policy set definition owner, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionCategory": {
- "description": "Policy set definition category, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionParameters": {
- "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "managementGroupIds": {
- "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
- "type": "string"
- },
- "policyDefinitionReferenceId": {
- "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "tenantId": {
- "description": "Tenant ID for the policy event record.",
- "type": "string"
- },
- "principalOid": {
- "description": "Principal object ID for the user who initiated the resource operation that triggered the policy event.",
- "type": "string"
- }
- },
- "additionalProperties": {
- "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
- }
- },
- "QueryFailure": {
- "description": "Error response.",
- "properties": {
- "error": {
- "description": "Error definition.",
- "properties": {
- "code": {
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "type": "string"
- },
- "message": {
- "description": "Description of the error.",
- "type": "string"
- }
- }
- }
- }
- },
- "MetadataDocument": {
- "description": "Metadata XML document.",
- "type": "string"
- }
- },
- "parameters": {
- "policyEventsResourceParameter": {
- "name": "policyEventsResource",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "default"
- ],
- "description": "The name of the virtual resource under PolicyEvents resource type; only \"default\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupsNamespaceParameter": {
- "name": "managementGroupsNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Management"
- ],
- "description": "The namespace for Microsoft Management resource provider; only \"Microsoft.Management\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupNameParameter": {
- "name": "managementGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Management group name.",
- "x-ms-parameter-location": "method"
- },
- "subscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Microsoft Azure subscription ID.",
- "x-ms-parameter-location": "method"
- },
- "resourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource group name.",
- "x-ms-parameter-location": "method"
- },
- "resourceIdParameter": {
- "name": "resourceId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource ID.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "scopeParameter": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "apiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "API version to use with the client requests.",
- "x-ms-parameter-location": "client"
- },
- "topParameter": {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 0,
- "description": "Maximum number of records to return.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Top"
- },
- "orderByParameter": {
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "OrderBy"
- },
- "selectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Select"
- },
- "fromParameter": {
- "name": "$from",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "From"
- },
- "toParameter": {
- "name": "$to",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "To"
- },
- "filterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Filter"
- },
- "applyParameter": {
- "name": "$apply",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData apply expression for aggregations.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Apply"
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyStates.json
deleted file mode 100644
index 3322b8b1b15d..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-10-17-preview/policyStates.json
+++ /dev/null
@@ -1,737 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "PolicyStatesClient",
- "version": "2017-10-17-preview"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForManagementGroup",
- "description": "Queries policy states for the resources under the management group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupsNamespaceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at management group scope": {
- "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForSubscription",
- "description": "Queries policy states for the resources under the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at subscription scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json"
- },
- "Time range; sort, select and limit": {
- "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json"
- },
- "Filter and group with aggregate": {
- "$ref": "./examples/PolicyStates_FilterAndGroupByWithAggregate.json"
- },
- "Filter and group without aggregate": {
- "$ref": "./examples/PolicyStates_FilterAndGroupByWithoutAggregate.json"
- },
- "Filter and aggregate only": {
- "$ref": "./examples/PolicyStates_FilterAndAggregateOnly.json"
- },
- "Filter and multiple groups": {
- "$ref": "./examples/PolicyStates_FilterAndMultipleGroups.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForResourceGroup",
- "description": "Queries policy states for the resources under the resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at resource group scope": {
- "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json"
- }
- }
- }
- },
- "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForResource",
- "description": "Queries policy states for the resource.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/resourceIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query all policy states at resource scope": {
- "$ref": "./examples/PolicyStates_QueryResourceScope.json"
- },
- "Query all policy states at subscription level resource scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json"
- },
- "Query all policy states at nested resource scope": {
- "$ref": "./examples/PolicyStates_QueryNestedResourceScope.json"
- },
- "Query all policy states at subscription level nested resource scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json"
- }
- }
- }
- },
- "/providers/Microsoft.PolicyInsights/operations": {
- "get": {
- "operationId": "Operations_List",
- "description": "Lists available operations.",
- "parameters": [
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "List of available operations.",
- "schema": {
- "$ref": "#/definitions/OperationsListResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "List operations": {
- "$ref": "./examples/PolicyStates_ListOperations.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata": {
- "get": {
- "operationId": "PolicyStates_GetMetadata",
- "description": "Gets OData metadata XML document.",
- "produces": [
- "application/xml"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/scopeParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OData metadata XML document.",
- "schema": {
- "$ref": "#/definitions/MetadataDocument"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Get metadata": {
- "$ref": "./examples/PolicyStates_GetMetadata.json"
- }
- }
- }
- }
- },
- "definitions": {
- "PolicyStatesQueryResults": {
- "description": "Query results.",
- "properties": {
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "@odata.count": {
- "description": "OData entity count; represents the number of policy state records returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- },
- "value": {
- "description": "Query results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyState"
- }
- }
- }
- },
- "PolicyState": {
- "type": "object",
- "description": "Policy state record.",
- "properties": {
- "@odata.id": {
- "description": "OData entity ID; always set to null since policy state records do not have an entity ID.",
- "type": "string"
- },
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "timestamp": {
- "description": "Timestamp for the policy state record.",
- "type": "string",
- "format": "date-time"
- },
- "resourceId": {
- "description": "Resource ID.",
- "type": "string"
- },
- "policyAssignmentId": {
- "description": "Policy assignment ID.",
- "type": "string"
- },
- "policyDefinitionId": {
- "description": "Policy definition ID.",
- "type": "string"
- },
- "effectiveParameters": {
- "description": "Effective parameters for the policy assignment.",
- "type": "string"
- },
- "isCompliant": {
- "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.",
- "type": "boolean"
- },
- "subscriptionId": {
- "description": "Subscription ID.",
- "type": "string"
- },
- "resourceType": {
- "description": "Resource type.",
- "type": "string"
- },
- "resourceLocation": {
- "description": "Resource location.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group name.",
- "type": "string"
- },
- "resourceTags": {
- "description": "List of resource tags.",
- "type": "string"
- },
- "policyAssignmentName": {
- "description": "Policy assignment name.",
- "type": "string"
- },
- "policyAssignmentOwner": {
- "description": "Policy assignment owner.",
- "type": "string"
- },
- "policyAssignmentParameters": {
- "description": "Policy assignment parameters.",
- "type": "string"
- },
- "policyAssignmentScope": {
- "description": "Policy assignment scope.",
- "type": "string"
- },
- "policyDefinitionName": {
- "description": "Policy definition name.",
- "type": "string"
- },
- "policyDefinitionAction": {
- "description": "Policy definition action, i.e. effect.",
- "type": "string"
- },
- "policyDefinitionCategory": {
- "description": "Policy definition category.",
- "type": "string"
- },
- "policySetDefinitionId": {
- "description": "Policy set definition ID, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionName": {
- "description": "Policy set definition name, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionOwner": {
- "description": "Policy set definition owner, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionCategory": {
- "description": "Policy set definition category, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionParameters": {
- "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "managementGroupIds": {
- "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
- "type": "string"
- },
- "policyDefinitionReferenceId": {
- "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
- "type": "string"
- }
- },
- "additionalProperties": {
- "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
- }
- },
- "QueryFailure": {
- "description": "Error response.",
- "properties": {
- "error": {
- "description": "Error definition.",
- "properties": {
- "code": {
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "type": "string"
- },
- "message": {
- "description": "Description of the error.",
- "type": "string"
- }
- }
- }
- }
- },
- "OperationsListResults": {
- "description": "List of available operations.",
- "properties": {
- "@odata.count": {
- "description": "OData entity count; represents the number of operations returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 1
- },
- "value": {
- "description": "List of available operations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- }
- }
- },
- "Operation": {
- "description": "Operation definition.",
- "properties": {
- "name": {
- "description": "Operation name.",
- "type": "string"
- },
- "display": {
- "description": "Display metadata associated with the operation.",
- "properties": {
- "provider": {
- "description": "Resource provider name.",
- "type": "string"
- },
- "resource": {
- "description": "Resource name on which the operation is performed.",
- "type": "string"
- },
- "operation": {
- "description": "Operation name.",
- "type": "string"
- },
- "description": {
- "description": "Operation description.",
- "type": "string"
- }
- }
- }
- }
- },
- "MetadataDocument": {
- "description": "Metadata XML document.",
- "type": "string"
- }
- },
- "parameters": {
- "policyStatesResourceParameter": {
- "name": "policyStatesResource",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "default",
- "latest"
- ],
- "x-ms-enum": {
- "name": "PolicyStatesResource",
- "modelAsString": true
- },
- "description": "The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s).",
- "x-ms-parameter-location": "method"
- },
- "managementGroupsNamespaceParameter": {
- "name": "managementGroupsNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Management"
- ],
- "description": "The namespace for Microsoft Management resource provider; only \"Microsoft.Management\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupNameParameter": {
- "name": "managementGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Management group name.",
- "x-ms-parameter-location": "method"
- },
- "subscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Microsoft Azure subscription ID.",
- "x-ms-parameter-location": "method"
- },
- "resourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource group name.",
- "x-ms-parameter-location": "method"
- },
- "resourceIdParameter": {
- "name": "resourceId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource ID.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "scopeParameter": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "apiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "API version to use with the client requests.",
- "x-ms-parameter-location": "client"
- },
- "topParameter": {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 0,
- "description": "Maximum number of records to return.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Top"
- },
- "orderByParameter": {
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "OrderBy"
- },
- "selectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Select"
- },
- "fromParameter": {
- "name": "$from",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "From"
- },
- "toParameter": {
- "name": "$to",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "To"
- },
- "filterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Filter"
- },
- "applyParameter": {
- "name": "$apply",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData apply expression for aggregations.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Apply"
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndAggregateOnly.json
deleted file mode 100644
index 748d489a3080..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndAggregateOnly.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny'",
- "$apply": "aggregate($count as NumDenyEvents)"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "NumDenyEvents": 40
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json
deleted file mode 100644
index a4789d0c6f44..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny'",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumEvents))",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/resourcescachemonitor/services/myService",
- "NumEvents": 1
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/resourcescachemonitor/services/myService",
- "NumEvents": 1
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json
deleted file mode 100644
index d77a98dbbf85..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-01-05T18:00:00Z",
- "$filter": "PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append'",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.authorization/policyassignments/storageaccountsku",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
- "policyDefinitionAction": "deny",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.storage/storageaccounts/7d528d3a"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/da43b50031bf4bce84584faa",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
- "policyDefinitionAction": "deny",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/mysa1"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndMultipleGroups.json
deleted file mode 100644
index 53c0f3fa05ac..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_FilterAndMultipleGroups.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-01-01T00:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny'",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, ResourceId))/groupby((PolicyAssignmentId, PolicyDefinitionId), aggregate($count as NumDeniedResources))",
- "$orderby": "NumDeniedResources desc",
- "$top": 10
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 6,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/0591f497c35344fcbaf7a393",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
- "NumDeniedResources": 3
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/myassignment1",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition1",
- "NumDeniedResources": 2
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/myassignment1",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition2",
- "NumDeniedResources": 2
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.authorization/policyassignments/storageaccountsku",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
- "NumDeniedResources": 1
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/da43b50031bf4bce84584faa",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
- "NumDeniedResources": 1
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/myassignment2",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition3",
- "NumDeniedResources": 1
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_GetMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_GetMetadata.json
deleted file mode 100644
index aee4220ba17e..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_GetMetadata.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/xml"
- },
- "body": " Org.OData.Capabilities.V1.ConformanceLevelType/Minimal application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true "
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryManagementGroupScope.json
deleted file mode 100644
index c5048016855a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryManagementGroupScope.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "managementGroupsNamespace": "Microsoft.Management",
- "managementGroupName": "myManagementGroup",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T22:19:18.8896095Z",
- "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef",
- "resourceType": "/Microsoft.Compute/virtualMachines/extensions",
- "resourceLocation": "westeurope",
- "resourceGroup": "myrg",
- "resourceTags": "tbd",
- "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "15521232277412542086",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T22:19:18.8896095Z",
- "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/95816fce53454b15a7ed803d",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/a2c0414b-82e4-459d-97d5-94c79a89232c",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef",
- "resourceType": "/Microsoft.Compute/virtualMachines/extensions",
- "resourceLocation": "westeurope",
- "resourceGroup": "myrg",
- "resourceTags": "tbd",
- "policyAssignmentName": "95816fce53454b15a7ed803d",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"eastus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "a2c0414b-82e4-459d-97d5-94c79a89232c",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "",
- "policySetDefinitionName": "",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryNestedResourceScope.json
deleted file mode 100644
index 498c651458f3..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryNestedResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json
deleted file mode 100644
index 1cc59cdabd02..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyAssignmentName": "myPolicyAssignment",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T00:07:16.2804863Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.operationalinsights/workspaces",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "myPolicyAssignment",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": null,
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup",
- "policyDefinitionName": "myPolicyAssignment",
- "policyDefinitionAction": "deny",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T00:06:08.4302267Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.operationalinsights/workspaces",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "myPolicyAssignment",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": null,
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup",
- "policyDefinitionName": "myPolicyAssignment",
- "policyDefinitionAction": "deny",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupScope.json
deleted file mode 100644
index 4587bced2bac..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceGroupScope.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceScope.json
deleted file mode 100644
index 66dd9560c0dc..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QueryResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.8473851Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.5842458Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json
deleted file mode 100644
index 605dcf5393b5..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json
deleted file mode 100644
index cb7c761d61fd..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:59:38.6401747Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:59:34.2017762Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json
deleted file mode 100644
index 4eabcf6b414d..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:58:11.590596Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "f4cc58b7db524a9799381531",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "14799174781370023846",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:58:11.590596Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "f4cc58b7db524a9799381531",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "1679708035638239273",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json
deleted file mode 100644
index ae2bbed0b465..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:49:32.9539023Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFFBDAF1FFFF109FFFD95FFFC9B0FFFD6F264FFF",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-08T19:49:32.9498186Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFF36C1CFFF4BEA57FFFEFCFFF17B9F81B710FFF",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json
deleted file mode 100644
index 7261bbad6dd6..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.8473851Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T15:14:39.5842458Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null,
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionScope.json
deleted file mode 100644
index bb982632da73..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_QuerySubscriptionScope.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "181565554491747128",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-07T20:43:04.6971328Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "ec62f9b2a454487296f2ccd4",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "624540685646900425",
- "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47",
- "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json
deleted file mode 100644
index c707350c9526..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "policyEventsResource": "default",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
- "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-05T22:34:02.3475017Z",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myResourceGroup",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity",
- "timestamp": "2018-02-05T22:34:01.6135357Z",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myResourceGroup",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndAggregateOnly.json
deleted file mode 100644
index 4621c4790a3b..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndAggregateOnly.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny'",
- "$apply": "aggregate($count as NumDenyStates)"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "NumDenyStates": 6
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
deleted file mode 100644
index 101ed7cbd2e2..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$filter": "IsCompliant eq false and (PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny')",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumAuditDenyNonComplianceRecords))",
- "$orderby": "NumAuditDenyNonComplianceRecords desc",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
- "NumAuditDenyNonComplianceRecords": 10
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
- "NumAuditDenyNonComplianceRecords": 10
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
deleted file mode 100644
index 5c18b994cc9a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-01-05T18:00:00Z",
- "$filter": "IsCompliant eq false and (PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append')",
- "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/enable monitoring in azure security center",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
- "policyDefinitionAction": "auditifnotexists",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
- "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
- "policyDefinitionAction": "auditifnotexists",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndMultipleGroups.json
deleted file mode 100644
index 558c989210c5..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_FilterAndMultipleGroups.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$filter": "IsCompliant eq false",
- "$apply": "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId, ResourceId))/groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId), aggregate($count as NumNonCompliantResources))",
- "$orderby": "NumNonCompliantResources desc",
- "$top": 10
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 10,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "14799174781370023846",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "1679708035638239273",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "14799174781370023846",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "1679708035638239273",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 557
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 552
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "8935913113203900114",
- "NumNonCompliantResources": 544
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
- "policySetDefinitionId": "",
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "policyDefinitionReferenceId": "",
- "NumNonCompliantResources": 526
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "policyDefinitionReferenceId": "2124621540977569058",
- "NumNonCompliantResources": 509
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_GetMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_GetMetadata.json
deleted file mode 100644
index 45a4e964c011..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_GetMetadata.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/xml"
- },
- "body": " Org.OData.Capabilities.V1.ConformanceLevelType/Minimal application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true "
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_ListOperations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_ListOperations.json
deleted file mode 100644
index 5748e2171ccd..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_ListOperations.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.count": 3,
- "value": [
- {
- "name": "Microsoft.PolicyInsights/policyEvents/queryResults/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy Events",
- "operation": "Query Policy Events",
- "description": "Query information about policy events."
- }
- },
- {
- "name": "Microsoft.PolicyInsights/policyStates/queryResults/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy States",
- "operation": "Query Policy States",
- "description": "Query information about policy states."
- }
- },
- {
- "name": "Microsoft.PolicyInsights/policyStates/summarize/action",
- "display": {
- "provider": "Microsoft Policy Insights",
- "resource": "Policy States",
- "operation": "Query Policy Latest States Summary",
- "description": "Query summary information about policy latest states."
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryManagementGroupScope.json
deleted file mode 100644
index 101024b4e421..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryManagementGroupScope.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "managementGroupsNamespace": "Microsoft.Management",
- "managementGroupName": "myManagementGroup",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:41:47Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.insights/autoscalesettings",
- "resourceLocation": "westus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "15521232277412542086"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:41:47Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/microsoft.insights/autoscalesettings",
- "resourceLocation": "westus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "",
- "policySetDefinitionName": "",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": ""
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryNestedResourceScope.json
deleted file mode 100644
index 01e320f7a6a1..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryNestedResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupScope.json
deleted file mode 100644
index 90530f5930a7..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupScope.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T18:42:42Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Storage/storageAccounts",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T18:42:42Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Storage/storageAccounts",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceScope.json
deleted file mode 100644
index 71dad938952b..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.ClassicCompute/domainNames",
- "resourceLocation": "eastus",
- "resourceGroup": "myResourceGroup",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
deleted file mode 100644
index a72fef261198..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
- "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "186044306c044a1d8c0ff76c",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
- "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
- "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
deleted file mode 100644
index ec95e0a32de1..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "default",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
- "timestamp": "2018-02-09T16:04:31Z",
- "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "resourceType": "/Microsoft.SomeNamespace/someResourceType",
- "resourceLocation": "eastus",
- "resourceGroup": "",
- "resourceTags": "tbd",
- "policyAssignmentName": "test",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
- "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
- "policyDefinitionName": "Audit a tag and it's value",
- "policyDefinitionAction": "audit",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": null,
- "policySetDefinitionName": null,
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionScope.json
deleted file mode 100644
index 88a63a0f5bd7..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionScope.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:48:05Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Network/publicIPAddresses",
- "resourceLocation": "eastus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "Enable Monitoring in Azure Security Center",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
- "policyDefinitionAction": "AuditIfNotExists",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-09T17:48:05Z",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
- "effectiveParameters": null,
- "isCompliant": false,
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceType": "/Microsoft.Network/publicIPAddresses",
- "resourceLocation": "eastus",
- "resourceGroup": "myrg1",
- "resourceTags": "tbd",
- "policyAssignmentName": "9ac09b0657d942e5ad4041a6",
- "policyAssignmentOwner": "tbd",
- "policyAssignmentParameters": "{}",
- "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
- "policyDefinitionAction": "AuditIfNotExists",
- "policyDefinitionCategory": "tbd",
- "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
- "policySetDefinitionOwner": null,
- "policySetDefinitionCategory": null,
- "policySetDefinitionParameters": null,
- "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeManagementGroupScope.json
deleted file mode 100644
index afe18645adf7..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeManagementGroupScope.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "managementGroupsNamespace": "Microsoft.Management",
- "managementGroupName": "myManagementGroup",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit'",
- "$top": 0
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-05 18:00:00Z&$to=2018-02-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit') and IsCompliant eq false",
- "nonCompliantResources": 15410,
- "nonCompliantPolicies": 68
- },
- "policyAssignments": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
deleted file mode 100644
index 008735589b93..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyAssignmentName": "b7a1ca2596524e3ab19597f2",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 7,
- "nonCompliantPolicies": 1
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2'",
- "nonCompliantResources": 7,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60'",
- "nonCompliantResources": 7
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupScope.json
deleted file mode 100644
index a0ebd225d786..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceGroupScope.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 55,
- "nonCompliantPolicies": 20
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c'",
- "nonCompliantResources": 55,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
- "nonCompliantResources": 55
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
- "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
- "nonCompliantResources": 55,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
- "nonCompliantResources": 55
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceScope.json
deleted file mode 100644
index 644357a6f495..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeResourceScope.json
+++ /dev/null
@@ -1,334 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 14
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
- "policySetDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/bafcd34b-58c6-47b4-bc8b-f35198d6a025",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/test",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/testtest'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/e4a08f18-4e3e-47af-a2eb-cc96d8c9a01f",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 2
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and its value",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and its value'",
- "nonCompliantResources": 1
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/deny a resource based on owner tag",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 3
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
- "nonCompliantResources": 1
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 1
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 1
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1'",
- "nonCompliantResources": 1,
- "nonCompliantPolicies": 3
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
- "nonCompliantResources": 1
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 1
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 1
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
deleted file mode 100644
index c3347bd7ba15..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 531,
- "nonCompliantPolicies": 1
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
- "nonCompliantResources": 531,
- "nonCompliantPolicies": 4
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 531
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 531
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
- "nonCompliantResources": 220
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
- "nonCompliantResources": 54
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
deleted file mode 100644
index 46d441f52e99..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "api-version": "2017-12-12-preview"
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 561,
- "nonCompliantPolicies": 4
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
- "nonCompliantResources": 558,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 558
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
- "nonCompliantResources": 553,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 553
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1'",
- "nonCompliantResources": 531,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 531
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
- "nonCompliantResources": 531,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 531
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
deleted file mode 100644
index e8b1afe37d58..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "authorizationNamespace": "Microsoft.Authorization",
- "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$filter": "PolicyDefinitionAction eq 'deny'",
- "$top": 1
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-05 18:00:00Z&$to=2018-02-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny') and IsCompliant eq false",
- "nonCompliantResources": 0,
- "nonCompliantPolicies": 0
- },
- "policyAssignments": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionScope.json
deleted file mode 100644
index baed33b54d6d..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_SummarizeSubscriptionScope.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "parameters": {
- "policyStatesSummaryResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$top": 5
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
- "@odata.count": 1,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false",
- "nonCompliantResources": 619,
- "nonCompliantPolicies": 40
- },
- "policyAssignments": [
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
- "nonCompliantResources": 557,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 557
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
- "nonCompliantResources": 557,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 557
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
- "policySetDefinitionId": "",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
- "nonCompliantResources": 557,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
- "nonCompliantResources": 557
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
- "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
- "nonCompliantResources": 557,
- "nonCompliantPolicies": 1
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
- "nonCompliantResources": 557
- }
- }
- ]
- },
- {
- "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
- "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
- "nonCompliantResources": 552,
- "nonCompliantPolicies": 3
- },
- "policyDefinitions": [
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
- "nonCompliantResources": 552
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
- "nonCompliantResources": 29
- }
- },
- {
- "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
- "effect": "audit",
- "results": {
- "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2017-12-12-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
- "nonCompliantResources": 2
- }
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
deleted file mode 100644
index 224d9c5f5c2a..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "policyStatesResource": "latest",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "api-version": "2017-12-12-preview",
- "$from": "2018-02-05T18:00:00Z",
- "$to": "2018-02-06T18:00:00Z",
- "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
- "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId",
- "$top": 2
- },
- "responses": {
- "200": {
- "body": {
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
- "@odata.count": 2,
- "value": [
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-06T17:58:00Z",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myrg1",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/mysa1"
- },
- {
- "@odata.id": null,
- "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-06T17:58:00Z",
- "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
- "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
- "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
- "resourceGroup": "myrg2",
- "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg2/providers/Microsoft.Storage/storageAccounts/mysa2"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyEvents.json
deleted file mode 100644
index 1adc69d726e7..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyEvents.json
+++ /dev/null
@@ -1,952 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "PolicyEventsClient",
- "version": "2017-12-12-preview"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForManagementGroup",
- "description": "Queries policy events for the resources under the management group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupsNamespaceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at management group scope": {
- "$ref": "./examples/PolicyEvents_QueryManagementGroupScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForSubscription",
- "description": "Queries policy events for the resources under the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at subscription scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionScope.json"
- },
- "Time range; sort, select and limit": {
- "$ref": "./examples/PolicyEvents_TimeRangeSortSelectTop.json"
- },
- "Filter and group with aggregate": {
- "$ref": "./examples/PolicyEvents_FilterAndGroupByWithAggregate.json"
- },
- "Filter and group without aggregate": {
- "$ref": "./examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json"
- },
- "Filter and aggregate only": {
- "$ref": "./examples/PolicyEvents_FilterAndAggregateOnly.json"
- },
- "Filter and multiple groups": {
- "$ref": "./examples/PolicyEvents_FilterAndMultipleGroups.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForResourceGroup",
- "description": "Queries policy events for the resources under the resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at resource group scope": {
- "$ref": "./examples/PolicyEvents_QueryResourceGroupScope.json"
- }
- }
- }
- },
- "/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForResource",
- "description": "Queries policy events for the resource.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/resourceIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at resource scope": {
- "$ref": "./examples/PolicyEvents_QueryResourceScope.json"
- },
- "Query at subscription level resource scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json"
- },
- "Query at nested resource scope": {
- "$ref": "./examples/PolicyEvents_QueryNestedResourceScope.json"
- },
- "Query at subscription level nested resource scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForPolicySetDefinition",
- "description": "Queries policy events for the subscription level policy set definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policySetDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at subscription level policy set definition scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForPolicyDefinition",
- "description": "Queries policy events for the subscription level policy definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at subscription level policy definition scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForSubscriptionLevelPolicyAssignment",
- "description": "Queries policy events for the subscription level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at subscription level policy assignment scope": {
- "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": {
- "post": {
- "operationId": "PolicyEvents_ListQueryResultsForResourceGroupLevelPolicyAssignment",
- "description": "Queries policy events for the resource group level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyEventsResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyEventsQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query at resource group level policy assignment scope": {
- "$ref": "./examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata": {
- "get": {
- "operationId": "PolicyEvents_GetMetadata",
- "description": "Gets OData metadata XML document.",
- "produces": [
- "application/xml"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/scopeParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OData metadata XML document.",
- "schema": {
- "$ref": "#/definitions/MetadataDocument"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Get metadata": {
- "$ref": "./examples/PolicyEvents_GetMetadata.json"
- }
- }
- }
- }
- },
- "definitions": {
- "PolicyEventsQueryResults": {
- "description": "Query results.",
- "properties": {
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "@odata.count": {
- "description": "OData entity count; represents the number of policy event records returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- },
- "value": {
- "description": "Query results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyEvent"
- }
- }
- }
- },
- "PolicyEvent": {
- "type": "object",
- "description": "Policy event record.",
- "properties": {
- "@odata.id": {
- "description": "OData entity ID; always set to null since policy event records do not have an entity ID.",
- "type": "string"
- },
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "timestamp": {
- "description": "Timestamp for the policy event record.",
- "type": "string",
- "format": "date-time"
- },
- "resourceId": {
- "description": "Resource ID.",
- "type": "string"
- },
- "policyAssignmentId": {
- "description": "Policy assignment ID.",
- "type": "string"
- },
- "policyDefinitionId": {
- "description": "Policy definition ID.",
- "type": "string"
- },
- "effectiveParameters": {
- "description": "Effective parameters for the policy assignment.",
- "type": "string"
- },
- "isCompliant": {
- "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.",
- "type": "boolean"
- },
- "subscriptionId": {
- "description": "Subscription ID.",
- "type": "string"
- },
- "resourceType": {
- "description": "Resource type.",
- "type": "string"
- },
- "resourceLocation": {
- "description": "Resource location.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group name.",
- "type": "string"
- },
- "resourceTags": {
- "description": "List of resource tags.",
- "type": "string"
- },
- "policyAssignmentName": {
- "description": "Policy assignment name.",
- "type": "string"
- },
- "policyAssignmentOwner": {
- "description": "Policy assignment owner.",
- "type": "string"
- },
- "policyAssignmentParameters": {
- "description": "Policy assignment parameters.",
- "type": "string"
- },
- "policyAssignmentScope": {
- "description": "Policy assignment scope.",
- "type": "string"
- },
- "policyDefinitionName": {
- "description": "Policy definition name.",
- "type": "string"
- },
- "policyDefinitionAction": {
- "description": "Policy definition action, i.e. effect.",
- "type": "string"
- },
- "policyDefinitionCategory": {
- "description": "Policy definition category.",
- "type": "string"
- },
- "policySetDefinitionId": {
- "description": "Policy set definition ID, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionName": {
- "description": "Policy set definition name, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionOwner": {
- "description": "Policy set definition owner, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionCategory": {
- "description": "Policy set definition category, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionParameters": {
- "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "managementGroupIds": {
- "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
- "type": "string"
- },
- "policyDefinitionReferenceId": {
- "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "tenantId": {
- "description": "Tenant ID for the policy event record.",
- "type": "string"
- },
- "principalOid": {
- "description": "Principal object ID for the user who initiated the resource operation that triggered the policy event.",
- "type": "string"
- }
- },
- "additionalProperties": {
- "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
- }
- },
- "QueryFailure": {
- "description": "Error response.",
- "properties": {
- "error": {
- "description": "Error definition.",
- "properties": {
- "code": {
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "type": "string"
- },
- "message": {
- "description": "Description of the error.",
- "type": "string"
- }
- }
- }
- }
- },
- "MetadataDocument": {
- "description": "Metadata XML document.",
- "type": "string"
- }
- },
- "parameters": {
- "policyEventsResourceParameter": {
- "name": "policyEventsResource",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "default"
- ],
- "description": "The name of the virtual resource under PolicyEvents resource type; only \"default\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupsNamespaceParameter": {
- "name": "managementGroupsNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Management"
- ],
- "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupNameParameter": {
- "name": "managementGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Management group name.",
- "x-ms-parameter-location": "method"
- },
- "subscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Microsoft Azure subscription ID.",
- "x-ms-parameter-location": "method"
- },
- "resourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource group name.",
- "x-ms-parameter-location": "method"
- },
- "resourceIdParameter": {
- "name": "resourceId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource ID.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "authorizationNamespaceParameter": {
- "name": "authorizationNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Authorization"
- ],
- "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "policySetDefinitionNameParameter": {
- "name": "policySetDefinitionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy set definition name.",
- "x-ms-parameter-location": "method"
- },
- "policyDefinitionNameParameter": {
- "name": "policyDefinitionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy definition name.",
- "x-ms-parameter-location": "method"
- },
- "policyAssignmentNameParameter": {
- "name": "policyAssignmentName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy assignment name.",
- "x-ms-parameter-location": "method"
- },
- "scopeParameter": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "apiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "API version to use with the client requests.",
- "x-ms-parameter-location": "client"
- },
- "topParameter": {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 0,
- "description": "Maximum number of records to return.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Top"
- },
- "orderByParameter": {
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "OrderBy"
- },
- "selectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Select"
- },
- "fromParameter": {
- "name": "$from",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "From"
- },
- "toParameter": {
- "name": "$to",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "To"
- },
- "filterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Filter"
- },
- "applyParameter": {
- "name": "$apply",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData apply expression for aggregations.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Apply"
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyStates.json
deleted file mode 100644
index f9802bfe8c16..000000000000
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/policyStates.json
+++ /dev/null
@@ -1,1564 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "PolicyStatesClient",
- "version": "2017-12-12-preview"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForManagementGroup",
- "description": "Queries policy states for the resources under the management group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupsNamespaceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at management group scope": {
- "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json"
- }
- }
- }
- },
- "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForManagementGroup",
- "description": "Summarizes policy states for the resources under the management group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupsNamespaceParameter"
- },
- {
- "$ref": "#/parameters/managementGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at management group scope": {
- "$ref": "./examples/PolicyStates_SummarizeManagementGroupScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForSubscription",
- "description": "Queries policy states for the resources under the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at subscription scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json"
- },
- "Time range; sort, select and limit": {
- "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json"
- },
- "Filter and group with aggregate": {
- "$ref": "./examples/PolicyStates_FilterAndGroupByWithAggregate.json"
- },
- "Filter and group without aggregate": {
- "$ref": "./examples/PolicyStates_FilterAndGroupByWithoutAggregate.json"
- },
- "Filter and aggregate only": {
- "$ref": "./examples/PolicyStates_FilterAndAggregateOnly.json"
- },
- "Filter and multiple groups": {
- "$ref": "./examples/PolicyStates_FilterAndMultipleGroups.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForSubscription",
- "description": "Summarizes policy states for the resources under the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at subscription scope": {
- "$ref": "./examples/PolicyStates_SummarizeSubscriptionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForResourceGroup",
- "description": "Queries policy states for the resources under the resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at resource group scope": {
- "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForResourceGroup",
- "description": "Summarizes policy states for the resources under the resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at resource group scope": {
- "$ref": "./examples/PolicyStates_SummarizeResourceGroupScope.json"
- }
- }
- }
- },
- "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForResource",
- "description": "Queries policy states for the resource.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/resourceIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query all policy states at resource scope": {
- "$ref": "./examples/PolicyStates_QueryResourceScope.json"
- },
- "Query all policy states at subscription level resource scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json"
- },
- "Query all policy states at nested resource scope": {
- "$ref": "./examples/PolicyStates_QueryNestedResourceScope.json"
- },
- "Query all policy states at subscription level nested resource scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json"
- }
- }
- }
- },
- "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForResource",
- "description": "Summarizes policy states for the resource.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/resourceIdParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at resource scope": {
- "$ref": "./examples/PolicyStates_SummarizeResourceScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForPolicySetDefinition",
- "description": "Queries policy states for the subscription level policy set definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policySetDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at subscription level policy set definition scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForPolicySetDefinition",
- "description": "Summarizes policy states for the subscription level policy set definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policySetDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at policy set definition scope": {
- "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForPolicyDefinition",
- "description": "Queries policy states for the subscription level policy definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at subscription level policy definition scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForPolicyDefinition",
- "description": "Summarizes policy states for the subscription level policy definition.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at policy definition scope": {
- "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForSubscriptionLevelPolicyAssignment",
- "description": "Queries policy states for the subscription level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at subscription level policy assignment scope": {
- "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForSubscriptionLevelPolicyAssignment",
- "description": "Summarizes policy states for the subscription level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at policy assignment scope": {
- "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
- "post": {
- "operationId": "PolicyStates_ListQueryResultsForResourceGroupLevelPolicyAssignment",
- "description": "Queries policy states for the resource group level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/orderByParameter"
- },
- {
- "$ref": "#/parameters/selectParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- },
- {
- "$ref": "#/parameters/applyParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Query results.",
- "schema": {
- "$ref": "#/definitions/PolicyStatesQueryResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Query latest at resource group level policy assignment scope": {
- "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
- "post": {
- "operationId": "PolicyStates_SummarizeForResourceGroupLevelPolicyAssignment",
- "description": "Summarizes policy states for the resource group level policy assignment.",
- "parameters": [
- {
- "$ref": "#/parameters/policyStatesSummaryResourceParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/resourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/authorizationNamespaceParameter"
- },
- {
- "$ref": "#/parameters/policyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/topParameter"
- },
- {
- "$ref": "#/parameters/fromParameter"
- },
- {
- "$ref": "#/parameters/toParameter"
- },
- {
- "$ref": "#/parameters/filterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Summarize results.",
- "schema": {
- "$ref": "#/definitions/SummarizeResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Summarize at policy assignment scope": {
- "$ref": "./examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json"
- }
- }
- }
- },
- "/providers/Microsoft.PolicyInsights/operations": {
- "get": {
- "operationId": "Operations_List",
- "description": "Lists available operations.",
- "parameters": [
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "List of available operations.",
- "schema": {
- "$ref": "#/definitions/OperationsListResults"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "List operations": {
- "$ref": "./examples/PolicyStates_ListOperations.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata": {
- "get": {
- "operationId": "PolicyStates_GetMetadata",
- "description": "Gets OData metadata XML document.",
- "produces": [
- "application/xml"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/scopeParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OData metadata XML document.",
- "schema": {
- "$ref": "#/definitions/MetadataDocument"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/QueryFailure"
- }
- }
- },
- "x-ms-examples": {
- "Get metadata": {
- "$ref": "./examples/PolicyStates_GetMetadata.json"
- }
- }
- }
- }
- },
- "definitions": {
- "PolicyStatesQueryResults": {
- "description": "Query results.",
- "properties": {
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "@odata.count": {
- "description": "OData entity count; represents the number of policy state records returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- },
- "value": {
- "description": "Query results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyState"
- }
- }
- }
- },
- "PolicyState": {
- "type": "object",
- "description": "Policy state record.",
- "properties": {
- "@odata.id": {
- "description": "OData entity ID; always set to null since policy state records do not have an entity ID.",
- "type": "string"
- },
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "timestamp": {
- "description": "Timestamp for the policy state record.",
- "type": "string",
- "format": "date-time"
- },
- "resourceId": {
- "description": "Resource ID.",
- "type": "string"
- },
- "policyAssignmentId": {
- "description": "Policy assignment ID.",
- "type": "string"
- },
- "policyDefinitionId": {
- "description": "Policy definition ID.",
- "type": "string"
- },
- "effectiveParameters": {
- "description": "Effective parameters for the policy assignment.",
- "type": "string"
- },
- "isCompliant": {
- "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.",
- "type": "boolean"
- },
- "subscriptionId": {
- "description": "Subscription ID.",
- "type": "string"
- },
- "resourceType": {
- "description": "Resource type.",
- "type": "string"
- },
- "resourceLocation": {
- "description": "Resource location.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group name.",
- "type": "string"
- },
- "resourceTags": {
- "description": "List of resource tags.",
- "type": "string"
- },
- "policyAssignmentName": {
- "description": "Policy assignment name.",
- "type": "string"
- },
- "policyAssignmentOwner": {
- "description": "Policy assignment owner.",
- "type": "string"
- },
- "policyAssignmentParameters": {
- "description": "Policy assignment parameters.",
- "type": "string"
- },
- "policyAssignmentScope": {
- "description": "Policy assignment scope.",
- "type": "string"
- },
- "policyDefinitionName": {
- "description": "Policy definition name.",
- "type": "string"
- },
- "policyDefinitionAction": {
- "description": "Policy definition action, i.e. effect.",
- "type": "string"
- },
- "policyDefinitionCategory": {
- "description": "Policy definition category.",
- "type": "string"
- },
- "policySetDefinitionId": {
- "description": "Policy set definition ID, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionName": {
- "description": "Policy set definition name, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionOwner": {
- "description": "Policy set definition owner, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionCategory": {
- "description": "Policy set definition category, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "policySetDefinitionParameters": {
- "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "managementGroupIds": {
- "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
- "type": "string"
- },
- "policyDefinitionReferenceId": {
- "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
- "type": "string"
- }
- },
- "additionalProperties": {
- "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
- }
- },
- "SummarizeResults": {
- "description": "Summarize action results.",
- "properties": {
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "@odata.count": {
- "description": "OData entity count; represents the number of summaries returned; always set to 1.",
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "maximum": 1
- },
- "value": {
- "description": "Summarize action results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Summary"
- }
- }
- }
- },
- "Summary": {
- "description": "Summary results.",
- "properties": {
- "@odata.id": {
- "description": "OData entity ID; always set to null since summaries do not have an entity ID.",
- "type": "string"
- },
- "@odata.context": {
- "description": "OData context string; used by OData clients to resolve type information based on metadata.",
- "type": "string"
- },
- "results": {
- "description": "Non-compliance summary for all policy assignments.",
- "$ref": "#/definitions/SummaryResults"
- },
- "policyAssignments": {
- "description": "Policy assignments summary.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyAssignmentSummary"
- }
- }
- }
- },
- "SummaryResults": {
- "description": "Non-compliance summary on a particular summary level.",
- "properties": {
- "queryResultsUri": {
- "description": "HTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the non-compliance summary.",
- "type": "string"
- },
- "nonCompliantResources": {
- "description": "Number of non-compliant resources.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- },
- "nonCompliantPolicies": {
- "description": "Number of non-compliant policies.",
- "type": "integer",
- "format": "int32",
- "minimum": 0
- }
- }
- },
- "PolicyAssignmentSummary": {
- "description": "Policy assignment summary.",
- "properties": {
- "policyAssignmentId": {
- "description": "Policy assignment ID.",
- "type": "string"
- },
- "policySetDefinitionId": {
- "description": "Policy set definition ID, if the policy assignment is for a policy set.",
- "type": "string"
- },
- "results": {
- "description": "Non-compliance summary for the policy assignment.",
- "$ref": "#/definitions/SummaryResults"
- },
- "policyDefinitions": {
- "description": "Policy definitions summary.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyDefinitionSummary"
- }
- }
- }
- },
- "PolicyDefinitionSummary": {
- "description": "Policy definition summary.",
- "properties": {
- "policyDefinitionId": {
- "description": "Policy definition ID.",
- "type": "string"
- },
- "effect": {
- "description": "Policy effect, i.e. policy definition action.",
- "type": "string"
- },
- "results": {
- "description": "Non-compliance summary for the policy definition.",
- "$ref": "#/definitions/SummaryResults"
- }
- }
- },
- "QueryFailure": {
- "description": "Error response.",
- "properties": {
- "error": {
- "description": "Error definition.",
- "properties": {
- "code": {
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "type": "string"
- },
- "message": {
- "description": "Description of the error.",
- "type": "string"
- }
- }
- }
- }
- },
- "OperationsListResults": {
- "description": "List of available operations.",
- "properties": {
- "@odata.count": {
- "description": "OData entity count; represents the number of operations returned.",
- "type": "integer",
- "format": "int32",
- "minimum": 1
- },
- "value": {
- "description": "List of available operations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- }
- }
- },
- "Operation": {
- "description": "Operation definition.",
- "properties": {
- "name": {
- "description": "Operation name.",
- "type": "string"
- },
- "display": {
- "description": "Display metadata associated with the operation.",
- "properties": {
- "provider": {
- "description": "Resource provider name.",
- "type": "string"
- },
- "resource": {
- "description": "Resource name on which the operation is performed.",
- "type": "string"
- },
- "operation": {
- "description": "Operation name.",
- "type": "string"
- },
- "description": {
- "description": "Operation description.",
- "type": "string"
- }
- }
- }
- }
- },
- "MetadataDocument": {
- "description": "Metadata XML document.",
- "type": "string"
- }
- },
- "parameters": {
- "policyStatesResourceParameter": {
- "name": "policyStatesResource",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "default",
- "latest"
- ],
- "x-ms-enum": {
- "name": "PolicyStatesResource",
- "modelAsString": true
- },
- "description": "The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s).",
- "x-ms-parameter-location": "method"
- },
- "policyStatesSummaryResourceParameter": {
- "name": "policyStatesSummaryResource",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "latest"
- ],
- "description": "The virtual resource under PolicyStates resource type for summarize action. In a given time range, 'latest' represents the latest policy state(s) and is the only allowed value.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupsNamespaceParameter": {
- "name": "managementGroupsNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Management"
- ],
- "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "managementGroupNameParameter": {
- "name": "managementGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Management group name.",
- "x-ms-parameter-location": "method"
- },
- "subscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Microsoft Azure subscription ID.",
- "x-ms-parameter-location": "method"
- },
- "resourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource group name.",
- "x-ms-parameter-location": "method"
- },
- "resourceIdParameter": {
- "name": "resourceId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Resource ID.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "authorizationNamespaceParameter": {
- "name": "authorizationNamespace",
- "in": "path",
- "required": true,
- "type": "string",
- "enum": [
- "Microsoft.Authorization"
- ],
- "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.",
- "x-ms-parameter-location": "method"
- },
- "policySetDefinitionNameParameter": {
- "name": "policySetDefinitionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy set definition name.",
- "x-ms-parameter-location": "method"
- },
- "policyDefinitionNameParameter": {
- "name": "policyDefinitionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy definition name.",
- "x-ms-parameter-location": "method"
- },
- "policyAssignmentNameParameter": {
- "name": "policyAssignmentName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Policy assignment name.",
- "x-ms-parameter-location": "method"
- },
- "scopeParameter": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "apiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "API version to use with the client requests.",
- "x-ms-parameter-location": "client"
- },
- "topParameter": {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 0,
- "description": "Maximum number of records to return.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Top"
- },
- "orderByParameter": {
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "OrderBy"
- },
- "selectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Select"
- },
- "fromParameter": {
- "name": "$from",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "From"
- },
- "toParameter": {
- "name": "$to",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "To"
- },
- "filterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Filter"
- },
- "applyParameter": {
- "name": "$apply",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData apply expression for aggregations.",
- "x-ms-parameter-location": "method",
- "x-ms-parameter-grouping": {
- "name": "QueryOptions"
- },
- "x-ms-client-name": "Apply"
- }
- }
-}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelManagementGroupScope.json
new file mode 100644
index 000000000000..4584059f7e68
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelManagementGroupScope.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Cancelling",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/myRemediation",
+ "name": "myRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceGroupScope.json
new file mode 100644
index 000000000000..46365d4ac4af
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceGroupScope.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Cancelling",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/myRemediation",
+ "name": "myRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceScope.json
new file mode 100644
index 000000000000..2b2ed4d6816b
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelResourceScope.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Cancelling",
+ "createdOn": "2018-09-13T21:51:09.085918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 1,
+ "successfulDeployments": 1,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/myRemediation",
+ "name": "myRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelSubscriptionScope.json
new file mode 100644
index 000000000000..26f094575a9e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CancelSubscriptionScope.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Cancelling",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/myRemediation",
+ "name": "myRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateManagementGroupScope.json
new file mode 100644
index 000000000000..87ad37fe21a0
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateManagementGroupScope.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceGroupScope.json
new file mode 100644
index 000000000000..661c6f757541
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceGroupScope.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceScope.json
new file mode 100644
index 000000000000..ed8b422c7681
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateResourceScope.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope.json
new file mode 100644
index 000000000000..0bfc6a7b2fde
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json
new file mode 100644
index 000000000000..0d676b858a9f
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_CreateSubscriptionScope_AllProperties.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "policyDefinitionReferenceId": "8c8fa9e4",
+ "resourceDiscoveryMode": "ReEvaluateCompliance",
+ "filters": {
+ "locations": [
+ "eastus",
+ "westus"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "policyDefinitionReferenceId": "8c8fa9e4",
+ "resourceDiscoveryMode": "ReEvaluateCompliance",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "policyDefinitionReferenceId": "8c8fa9e4",
+ "resourceDiscoveryMode": "ReEvaluateCompliance",
+ "provisioningState": "Accepted",
+ "createdOn": "2018-09-12T20:58:58.7531298Z",
+ "lastUpdatedOn": "2018-09-12T20:58:58.7531298Z",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 0,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteManagementGroupScope.json
new file mode 100644
index 000000000000..ebd04cbca9ff
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteManagementGroupScope.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceGroupScope.json
new file mode 100644
index 000000000000..43d6256da219
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceGroupScope.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceScope.json
new file mode 100644
index 000000000000..7b8b8b8a3a48
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteResourceScope.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 1,
+ "successfulDeployments": 1,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteSubscriptionScope.json
new file mode 100644
index 000000000000..0a6c82b18841
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_DeleteSubscriptionScope.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetManagementGroupScope.json
new file mode 100644
index 000000000000..33963b400bd2
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetManagementGroupScope.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceGroupScope.json
new file mode 100644
index 000000000000..22fda325d4a9
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceGroupScope.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceScope.json
new file mode 100644
index 000000000000..68fee76012d1
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetResourceScope.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 1,
+ "successfulDeployments": 1,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetSubscriptionScope.json
new file mode 100644
index 000000000000..450fab0271a4
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_GetSubscriptionScope.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "remediationName": "storageRemediation",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/storageRemediation",
+ "name": "storageRemediation",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsManagementGroupScope.json
new file mode 100644
index 000000000000..90ca2fc98592
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsManagementGroupScope.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4",
+ "status": "Succeeded",
+ "resourceLocation": "eastus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z"
+ },
+ {
+ "remediatedResourceId": "/subscriptions/c1164d71-0942-499f-bc2f-b6b7b0bae493/resourcegroups/myResourceGroup2/providers/microsoft.storage/storageaccounts/stor1",
+ "deploymentId": "/subscriptions/c1164d71-0942-499f-bc2f-b6b7b0bae493/resourcegroups/myResourceGroup2/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56",
+ "status": "Succeeded",
+ "resourceLocation": "westus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceGroupScope.json
new file mode 100644
index 000000000000..9833393898e7
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceGroupScope.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4",
+ "status": "Succeeded",
+ "resourceLocation": "eastus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z"
+ },
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/stor2",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56",
+ "status": "Succeeded",
+ "resourceLocation": "westus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceScope.json
new file mode 100644
index 000000000000..a96d0deee0c8
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsResourceScope.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4",
+ "status": "Succeeded",
+ "resourceLocation": "eastus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsSubscriptionScope.json
new file mode 100644
index 000000000000..75c7f420513e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListDeploymentsSubscriptionScope.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "api-version": "2019-07-01",
+ "remediationName": "myRemediation"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.resources/deployments/a088e8fd-8600-4126-8d74-fc7ead0e9ae4",
+ "status": "Succeeded",
+ "resourceLocation": "eastus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8919106Z"
+ },
+ {
+ "remediatedResourceId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.storage/storageaccounts/stor1",
+ "deploymentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.resources/deployments/6b8898c0-18a2-449e-987a-8d4d4f634f56",
+ "status": "Succeeded",
+ "resourceLocation": "westus",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:09.8761679Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope.json
new file mode 100644
index 000000000000..14c0598792e5
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:49:16.4638131Z",
+ "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope_WithQuery.json
new file mode 100644
index 000000000000..506e1871d128
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListManagementGroupScope_WithQuery.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupId": "financeMg",
+ "$filter": "PolicyAssignmentId eq '/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'",
+ "$top": 1,
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/providers/microsoft.management/managementGroups/financeMg/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope.json
new file mode 100644
index 000000000000..2c1a3a8d0461
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:49:16.4638131Z",
+ "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope_WithQuery.json
new file mode 100644
index 000000000000..6d6a1e3062f3
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceGroupScope_WithQuery.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "resourceGroupName": "myResourceGroup",
+ "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'",
+ "$top": 1,
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:49:16.4638131Z",
+ "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope.json
new file mode 100644
index 000000000000..adf4b578ac14
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 1,
+ "successfulDeployments": 1,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope_WithQuery.json
new file mode 100644
index 000000000000..34ab725b7f47
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListResourceScope_WithQuery.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1",
+ "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5'",
+ "$top": 1,
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 1,
+ "successfulDeployments": 1,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/storAc1/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope.json
new file mode 100644
index 000000000000..e91b66412602
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:49:16.4638131Z",
+ "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/myResourceGroup2/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope_WithQuery.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope_WithQuery.json
new file mode 100644
index 000000000000..a914610bd345
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/examples/Remediations_ListSubscriptionScope_WithQuery.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2",
+ "$filter": "PolicyAssignmentId eq '/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5' AND PolicyDefinitionReferenceId eq 'storageSkuDef'",
+ "$top": 1,
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "policyDefinitionReferenceId": "storageSkuDef",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:51:09.075918Z",
+ "lastUpdatedOn": "2018-09-13T21:52:10.0011706Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.policyinsights/remediations/790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "name": "790996e6-9871-4b1f-9cd9-ec42cd6ced1e",
+ "type": "Microsoft.PolicyInsights/remediations"
+ },
+ {
+ "properties": {
+ "policyAssignmentId": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/microsoft.authorization/policyassignments/b101830944f246d8a14088c5",
+ "policyDefinitionReferenceId": "storageSkuDef",
+ "provisioningState": "Succeeded",
+ "createdOn": "2018-09-13T21:49:16.4638131Z",
+ "lastUpdatedOn": "2018-09-13T21:50:18.4647478Z",
+ "resourceDiscoveryMode": "ExistingNonCompliant",
+ "deploymentStatus": {
+ "totalDeployments": 2,
+ "successfulDeployments": 2,
+ "failedDeployments": 0
+ }
+ },
+ "id": "/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourcegroups/rg2/providers/microsoft.policyinsights/remediations/0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "name": "0866f0cc-6cb3-422c-9fb6-a4e3e2266da8",
+ "type": "Microsoft.PolicyInsights/remediations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/remediations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/remediations.json
new file mode 100644
index 000000000000..eade05405c40
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-07-01/remediations.json
@@ -0,0 +1,1398 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RemediationsClient",
+ "version": "2019-07-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": {
+ "post": {
+ "operationId": "Remediations_ListDeploymentsAtManagementGroup",
+ "description": "Gets all deployments for a remediation at management group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation deployments.",
+ "schema": {
+ "$ref": "#/definitions/RemediationDeploymentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deployments for a remediation at management group scope": {
+ "$ref": "./examples/Remediations_ListDeploymentsManagementGroupScope.json"
+ }
+ }
+ }
+ },
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": {
+ "post": {
+ "operationId": "Remediations_CancelAtManagementGroup",
+ "description": "Cancels a remediation at management group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The remediation that was canceled.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a remediation at management group scope": {
+ "$ref": "./examples/Remediations_CancelManagementGroupScope.json"
+ }
+ }
+ }
+ },
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations": {
+ "get": {
+ "operationId": "Remediations_ListForManagementGroup",
+ "description": "Gets all remediations for the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediations.",
+ "schema": {
+ "$ref": "#/definitions/RemediationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List remediations at management group scope": {
+ "$ref": "./examples/Remediations_ListManagementGroupScope.json"
+ },
+ "List remediations at management group scope with query parameters": {
+ "$ref": "./examples/Remediations_ListManagementGroupScope_WithQuery.json"
+ }
+ }
+ }
+ },
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": {
+ "put": {
+ "operationId": "Remediations_CreateOrUpdateAtManagementGroup",
+ "description": "Creates or updates a remediation at management group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ },
+ "description": "The remediation parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "201": {
+ "description": "The created remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create remediation at management group scope": {
+ "$ref": "./examples/Remediations_CreateManagementGroupScope.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Remediations_GetAtManagementGroup",
+ "description": "Gets an existing remediation at management group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get remediation at management group scope": {
+ "$ref": "./examples/Remediations_GetManagementGroupScope.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Remediations_DeleteAtManagementGroup",
+ "description": "Deletes an existing remediation at management group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "204": {
+ "description": "The remediation did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete remediation at management group scope": {
+ "$ref": "./examples/Remediations_DeleteManagementGroupScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": {
+ "post": {
+ "operationId": "Remediations_ListDeploymentsAtSubscription",
+ "description": "Gets all deployments for a remediation at subscription scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation deployments.",
+ "schema": {
+ "$ref": "#/definitions/RemediationDeploymentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deployments for a remediation at subscription scope": {
+ "$ref": "./examples/Remediations_ListDeploymentsSubscriptionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": {
+ "post": {
+ "operationId": "Remediations_CancelAtSubscription",
+ "description": "Cancels a remediation at subscription scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The remediation that was canceled.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a remediation at subscription scope": {
+ "$ref": "./examples/Remediations_CancelSubscriptionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations": {
+ "get": {
+ "operationId": "Remediations_ListForSubscription",
+ "description": "Gets all remediations for the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediations.",
+ "schema": {
+ "$ref": "#/definitions/RemediationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List remediations at subscription scope": {
+ "$ref": "./examples/Remediations_ListSubscriptionScope.json"
+ },
+ "List remediations at subscription scope with query parameters": {
+ "$ref": "./examples/Remediations_ListSubscriptionScope_WithQuery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": {
+ "put": {
+ "operationId": "Remediations_CreateOrUpdateAtSubscription",
+ "description": "Creates or updates a remediation at subscription scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ },
+ "description": "The remediation parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "201": {
+ "description": "The created remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create remediation at subscription scope": {
+ "$ref": "./examples/Remediations_CreateSubscriptionScope.json"
+ },
+ "Create remediation at subscription scope with all properties": {
+ "$ref": "./examples/Remediations_CreateSubscriptionScope_AllProperties.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Remediations_GetAtSubscription",
+ "description": "Gets an existing remediation at subscription scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get remediation at subscription scope": {
+ "$ref": "./examples/Remediations_GetSubscriptionScope.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Remediations_DeleteAtSubscription",
+ "description": "Deletes an existing remediation at subscription scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "204": {
+ "description": "The remediation did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete remediation at subscription scope": {
+ "$ref": "./examples/Remediations_DeleteSubscriptionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": {
+ "post": {
+ "operationId": "Remediations_ListDeploymentsAtResourceGroup",
+ "description": "Gets all deployments for a remediation at resource group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation deployments.",
+ "schema": {
+ "$ref": "#/definitions/RemediationDeploymentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deployments for a remediation at resource group scope": {
+ "$ref": "./examples/Remediations_ListDeploymentsResourceGroupScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": {
+ "post": {
+ "operationId": "Remediations_CancelAtResourceGroup",
+ "description": "Cancels a remediation at resource group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The remediation that was canceled.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a remediation at resource group scope": {
+ "$ref": "./examples/Remediations_CancelResourceGroupScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations": {
+ "get": {
+ "operationId": "Remediations_ListForResourceGroup",
+ "description": "Gets all remediations for the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediations.",
+ "schema": {
+ "$ref": "#/definitions/RemediationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List remediations at resource group scope": {
+ "$ref": "./examples/Remediations_ListResourceGroupScope.json"
+ },
+ "List remediations at resource group scope with query parameters": {
+ "$ref": "./examples/Remediations_ListResourceGroupScope_WithQuery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": {
+ "put": {
+ "operationId": "Remediations_CreateOrUpdateAtResourceGroup",
+ "description": "Creates or updates a remediation at resource group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ },
+ "description": "The remediation parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "201": {
+ "description": "The created remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create remediation at resource group scope": {
+ "$ref": "./examples/Remediations_CreateResourceGroupScope.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Remediations_GetAtResourceGroup",
+ "description": "Gets an existing remediation at resource group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get remediation at resource group scope": {
+ "$ref": "./examples/Remediations_GetResourceGroupScope.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Remediations_DeleteAtResourceGroup",
+ "description": "Deletes an existing remediation at resource group scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "204": {
+ "description": "The remediation did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete remediation at resource group scope": {
+ "$ref": "./examples/Remediations_DeleteResourceGroupScope.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments": {
+ "post": {
+ "operationId": "Remediations_ListDeploymentsAtResource",
+ "description": "Gets all deployments for a remediation at resource scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation deployments.",
+ "schema": {
+ "$ref": "#/definitions/RemediationDeploymentsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deployments for a remediation at individual resource scope": {
+ "$ref": "./examples/Remediations_ListDeploymentsResourceScope.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel": {
+ "post": {
+ "operationId": "Remediations_CancelAtResource",
+ "description": "Cancel a remediation at resource scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The remediation that was canceled.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a remediation at individual resource scope": {
+ "$ref": "./examples/Remediations_CancelResourceScope.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/remediations": {
+ "get": {
+ "operationId": "Remediations_ListForResource",
+ "description": "Gets all remediations for a resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediations.",
+ "schema": {
+ "$ref": "#/definitions/RemediationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List remediations at individual resource scope": {
+ "$ref": "./examples/Remediations_ListResourceScope.json"
+ },
+ "List remediations at individual resource scope with query parameters": {
+ "$ref": "./examples/Remediations_ListResourceScope_WithQuery.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}": {
+ "put": {
+ "operationId": "Remediations_CreateOrUpdateAtResource",
+ "description": "Creates or updates a remediation at resource scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ },
+ "description": "The remediation parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "201": {
+ "description": "The created remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create remediation at individual resource scope": {
+ "$ref": "./examples/Remediations_CreateResourceScope.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Remediations_GetAtResource",
+ "description": "Gets an existing remediation at resource scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get remediation at individual resource scope": {
+ "$ref": "./examples/Remediations_GetResourceScope.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Remediations_DeleteAtResource",
+ "description": "Deletes an existing remediation at individual resource scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/remediationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted remediation.",
+ "schema": {
+ "$ref": "#/definitions/Remediation"
+ }
+ },
+ "204": {
+ "description": "The remediation did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete remediation at individual resource scope": {
+ "$ref": "./examples/Remediations_DeleteResourceScope.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RemediationListResult": {
+ "description": "List of remediations.",
+ "properties": {
+ "value": {
+ "description": "Array of remediation definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Remediation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "RemediationDeploymentsListResult": {
+ "description": "List of deployments for a remediation.",
+ "properties": {
+ "value": {
+ "description": "Array of deployments for the remediation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemediationDeployment"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "RemediationDeployment": {
+ "description": "Details of a single deployment created by the remediation.",
+ "properties": {
+ "remediatedResourceId": {
+ "type": "string",
+ "description": "Resource ID of the resource that is being remediated by the deployment.",
+ "readOnly": true
+ },
+ "deploymentId": {
+ "type": "string",
+ "description": "Resource ID of the template deployment that will remediate the resource.",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the remediation deployment.",
+ "readOnly": true
+ },
+ "resourceLocation": {
+ "type": "string",
+ "description": "Location of the resource that is being remediated.",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "Error encountered while remediated the resource.",
+ "readOnly": true
+ },
+ "createdOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the remediation was created.",
+ "readOnly": true
+ },
+ "lastUpdatedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the remediation deployment was last updated.",
+ "readOnly": true
+ }
+ }
+ },
+ "Remediation": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RemediationProperties",
+ "description": "Properties for the remediation."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the remediation.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the remediation.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the remediation.",
+ "readOnly": true
+ }
+ },
+ "description": "The remediation definition.",
+ "x-ms-azure-resource": true
+ },
+ "RemediationProperties": {
+ "properties": {
+ "policyAssignmentId": {
+ "type": "string",
+ "description": "The resource ID of the policy assignment that should be remediated."
+ },
+ "policyDefinitionReferenceId": {
+ "type": "string",
+ "description": "The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition."
+ },
+ "resourceDiscoveryMode": {
+ "type": "string",
+ "enum": [
+ "ExistingNonCompliant",
+ "ReEvaluateCompliance"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceDiscoveryMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ExistingNonCompliant",
+ "description": "Remediate resources that are already known to be non-compliant."
+ },
+ {
+ "value": "ReEvaluateCompliance",
+ "description": "Re-evaluate the compliance state of resources and then remediate the resources found to be non-compliant."
+ }
+ ]
+ },
+ "description": "The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The status of the remediation.",
+ "readOnly": true
+ },
+ "createdOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the remediation was created.",
+ "readOnly": true
+ },
+ "lastUpdatedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the remediation was last updated.",
+ "readOnly": true
+ },
+ "filters": {
+ "$ref": "#/definitions/RemediationFilters",
+ "description": "The filters that will be applied to determine which resources to remediate."
+ },
+ "deploymentStatus": {
+ "$ref": "#/definitions/RemediationDeploymentSummary",
+ "description": "The deployment status summary for all deployments created by the remediation.",
+ "readOnly": true
+ }
+ },
+ "description": "The remediation properties."
+ },
+ "RemediationFilters": {
+ "properties": {
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The resource locations that will be remediated."
+ }
+ },
+ "description": "The filters that will be applied to determine which resources to remediate."
+ },
+ "RemediationDeploymentSummary": {
+ "properties": {
+ "totalDeployments": {
+ "type": "integer",
+ "description": "The number of deployments required by the remediation.",
+ "readOnly": true
+ },
+ "successfulDeployments": {
+ "type": "integer",
+ "description": "The number of deployments required by the remediation that have succeeded.",
+ "readOnly": true
+ },
+ "failedDeployments": {
+ "type": "integer",
+ "description": "The number of deployments required by the remediation that have failed.",
+ "readOnly": true
+ }
+ },
+ "description": "The deployment status summary for all deployments created by the remediation."
+ },
+ "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
+ },
+ "target": {
+ "description": "The target of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional scenario specific error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TypedErrorInfo"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TypedErrorInfo": {
+ "description": "Scenario specific error details.",
+ "properties": {
+ "type": {
+ "description": "The type of included error details.",
+ "type": "string",
+ "readOnly": true
+ },
+ "info": {
+ "description": "The scenario specific error details.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "remediationNameParameter": {
+ "name": "remediationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the remediation.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupsNamespaceParameter": {
+ "name": "managementGroupsNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.Management"
+ ],
+ "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management group ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceIdParameter": {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource ID.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "topParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Maximum number of records to return.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Top"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Filter"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Microsoft Azure subscription ID."
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_GetResource.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_GetResource.json
new file mode 100644
index 000000000000..5d298367aeeb
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_GetResource.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "NIST_SP_800-53_R4_AC-2",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "metadataId": "NIST SP 800-53 R4 AC-2",
+ "category": "Access control",
+ "title": "Account Management",
+ "owner": "Shared",
+ "description": "Description of NIST SP 800-53 R4 AC-2",
+ "requirements": "List the requirements for NIST SP 800-53 R4 AC-2",
+ "additionalContentUrl": "https://aka.ms/NIST_SP_800-53_R4_AC-2",
+ "metadata": {}
+ },
+ "id": "/providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2",
+ "name": "NIST_SP_800-53_R4_AC-2",
+ "type": "Microsoft.PolicyInsights/policyMetadata"
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List.json
new file mode 100644
index 000000000000..b03d33f3305f
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "metadataId": "NIST SP 800-53 R4 AC-2",
+ "category": "Access control",
+ "title": "Account Management",
+ "owner": "Shared",
+ "additionalContentUrl": "https://aka.ms/NIST_SP_800-53_R4_AC-2",
+ "metadata": {}
+ },
+ "id": "/providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2",
+ "name": "NIST_SP_800-53_R4_AC-2",
+ "type": "Microsoft.PolicyInsights/policyMetadata"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List_WithTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List_WithTop.json
new file mode 100644
index 000000000000..5cd97e829646
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyMetadata_List_WithTop.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "metadataId": "NIST SP 800-53 R4 AC-2",
+ "category": "Access control",
+ "title": "Account Management",
+ "owner": "Shared",
+ "additionalContentUrl": "https://aka.ms/NIST_SP_800-53_R4_AC-2",
+ "metadata": {}
+ },
+ "id": "/providers/Microsoft.PolicyInsights/policyMetadata/NIST_SP_800-53_R4_AC-2",
+ "name": "NIST_SP_800-53_R4_AC-2",
+ "type": "Microsoft.PolicyInsights/policyMetadata"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndAggregateOnly.json
new file mode 100644
index 000000000000..ffeb51b4aa43
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndAggregateOnly.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny'",
+ "$apply": "aggregate($count as NumDenyStates)"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "NumDenyStates": 6
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithAggregate.json
new file mode 100644
index 000000000000..92ed5fac4c2d
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithAggregate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$filter": "IsCompliant eq false and (PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny')",
+ "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumAuditDenyNonComplianceRecords))",
+ "$orderby": "NumAuditDenyNonComplianceRecords desc",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionAction": "audit",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
+ "NumAuditDenyNonComplianceRecords": 10
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
+ "NumAuditDenyNonComplianceRecords": 10
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
new file mode 100644
index 000000000000..1fc2ddfadb5e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$filter": "IsCompliant eq false and (PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append')",
+ "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/enable monitoring in azure security center",
+ "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
+ "policyDefinitionAction": "auditifnotexists",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
+ "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
+ "policyDefinitionAction": "auditifnotexists",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndMultipleGroups.json
new file mode 100644
index 000000000000..00b6fa94d867
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_FilterAndMultipleGroups.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$filter": "IsCompliant eq false",
+ "$apply": "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId, ResourceId))/groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId), aggregate($count as NumNonCompliantResources))",
+ "$orderby": "NumNonCompliantResources desc",
+ "$top": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 10,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "14799174781370023846",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "1679708035638239273",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "14799174781370023846",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "1679708035638239273",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 552
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "8935913113203900114",
+ "NumNonCompliantResources": 544
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 526
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "2124621540977569058",
+ "NumNonCompliantResources": 509
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_ListOperations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_ListOperations.json
new file mode 100644
index 000000000000..4a9f1714d38b
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_ListOperations.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.count": 3,
+ "value": [
+ {
+ "name": "Microsoft.PolicyInsights/policyEvents/queryResults/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy Events",
+ "operation": "Query Policy Events",
+ "description": "Query information about policy events."
+ }
+ },
+ {
+ "name": "Microsoft.PolicyInsights/policyStates/queryResults/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy States",
+ "operation": "Query Policy States",
+ "description": "Query information about policy states."
+ }
+ },
+ {
+ "name": "Microsoft.PolicyInsights/policyStates/summarize/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy States",
+ "operation": "Query Policy Latest States Summary",
+ "description": "Query summary information about policy latest states."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json
new file mode 100644
index 000000000000..30027d5f02e2
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupName": "myManagementGroup",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T17:41:47Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/microsoft.insights/autoscalesettings",
+ "resourceLocation": "westus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": "15521232277412542086",
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T17:41:47Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": true,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/microsoft.insights/autoscalesettings",
+ "resourceLocation": "westus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "",
+ "policySetDefinitionName": "",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": "",
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json
new file mode 100644
index 000000000000..49c4b290456e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": true,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
similarity index 90%
rename from specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
rename to specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
index 0444622917a7..2737f3ed5ac2 100644
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
@@ -5,7 +5,7 @@
"resourceGroupName": "myResourceGroup",
"authorizationNamespace": "Microsoft.Authorization",
"policyAssignmentName": "myPolicyAssignment",
- "api-version": "2017-12-12-preview"
+ "api-version": "2019-10-01"
},
"responses": {
"200": {
@@ -16,7 +16,7 @@
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:38:50Z",
+ "timestamp": "2019-10-13T00:38:50Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Security/policies/mySecurityPolicy",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
@@ -40,17 +40,21 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:38:50Z",
+ "timestamp": "2019-10-13T00:38:50Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/test",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
"effectiveParameters": null,
- "isCompliant": false,
+ "isCompliant": true,
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"resourceType": "/Microsoft.Authorization/policyAssignments",
"resourceLocation": null,
@@ -69,7 +73,11 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
}
]
}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json
new file mode 100644
index 000000000000..247f76fd9eaf
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T18:42:42Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Storage/storageAccounts",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T18:42:42Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "effectiveParameters": null,
+ "isCompliant": true,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Storage/storageAccounts",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json
new file mode 100644
index 000000000000..10885540081a
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json
new file mode 100644
index 000000000000..e4b83c3c4133
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "api-version": "2019-10-01",
+ "$expand": "policyEvaluationDetails"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ],
+ "policyEvaluationDetails": {
+ "evaluatedExpressions": [
+ {
+ "result": "True",
+ "expression": "type",
+ "path": "type",
+ "expressionValue": "Microsoft.ClassicCompute/domainNames",
+ "targetValue": "Microsoft.ClassicCompute/domainNames",
+ "operator": "Equals"
+ },
+ {
+ "result": "False",
+ "expression": "name",
+ "path": "name",
+ "expressionValue": "myDomainName",
+ "targetValue": "someName",
+ "operator": "Equals"
+ }
+ ]
+ }
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test2",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/AuditIfNotExistsTest",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "AuditIfNotExists test",
+ "policyDefinitionAction": "auditifnotexists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ],
+ "policyEvaluationDetails": {
+ "evaluatedExpressions": [
+ {
+ "result": "True",
+ "expression": "tags",
+ "path": "tags",
+ "expressionValue": {},
+ "targetValue": "global-opco",
+ "operator": "NotContainsKey"
+ }
+ ],
+ "ifNotExistsDetails": {
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "totalResources": 1
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
new file mode 100644
index 000000000000..69a778af5f0b
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": true,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
similarity index 92%
rename from specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
rename to specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
index a8f2e49db989..afd036ad6184 100644
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
@@ -4,7 +4,7 @@
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"authorizationNamespace": "Microsoft.Authorization",
"policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
- "api-version": "2017-12-12-preview"
+ "api-version": "2019-10-01"
},
"responses": {
"200": {
@@ -15,7 +15,7 @@
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:45:19Z",
+ "timestamp": "2019-10-13T00:45:19Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
@@ -39,17 +39,21 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "2124621540977569058"
+ "policyDefinitionReferenceId": "2124621540977569058",
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:45:19Z",
+ "timestamp": "2019-10-13T00:45:19Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
"effectiveParameters": null,
- "isCompliant": false,
+ "isCompliant": true,
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"resourceType": "/Microsoft.Network/publicIPAddresses",
"resourceLocation": "eastus",
@@ -68,7 +72,11 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": "14799174781370023846"
+ "policyDefinitionReferenceId": "14799174781370023846",
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
}
]
}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
similarity index 89%
rename from specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
rename to specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
index 0f51425e8c1f..f15370c3093c 100644
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
@@ -4,7 +4,7 @@
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"authorizationNamespace": "Microsoft.Authorization",
"policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
- "api-version": "2017-12-12-preview"
+ "api-version": "2019-10-01"
},
"responses": {
"200": {
@@ -15,7 +15,7 @@
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:50:27Z",
+ "timestamp": "2019-10-13T00:50:27Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
@@ -39,17 +39,21 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:50:27Z",
+ "timestamp": "2019-10-13T00:50:27Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
"effectiveParameters": null,
- "isCompliant": false,
+ "isCompliant": true,
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"resourceType": "/Microsoft.ServiceFabric/clusters/applications/services",
"resourceLocation": "eastus",
@@ -68,7 +72,11 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
}
]
}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
similarity index 90%
rename from specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
rename to specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
index 22ed627848e8..bfd2e1cd48f3 100644
--- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2017-12-12-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
@@ -4,7 +4,7 @@
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"authorizationNamespace": "Microsoft.Authorization",
"policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
- "api-version": "2017-12-12-preview"
+ "api-version": "2019-10-01"
},
"responses": {
"200": {
@@ -15,7 +15,7 @@
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:54:58Z",
+ "timestamp": "2019-10-13T00:54:58Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
@@ -39,17 +39,21 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
- "timestamp": "2018-02-13T00:54:58Z",
+ "timestamp": "2019-10-13T00:54:58Z",
"resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite",
"policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
"policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/LocationAuditDefinition",
"effectiveParameters": null,
- "isCompliant": false,
+ "isCompliant": true,
"subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
"resourceType": "/Microsoft.Web/sites",
"resourceLocation": "centralus",
@@ -68,7 +72,11 @@
"policySetDefinitionCategory": null,
"policySetDefinitionParameters": null,
"managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
- "policyDefinitionReferenceId": null
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
}
]
}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
new file mode 100644
index 000000000000..521ac190d5a1
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2019-10-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": true,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "Compliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json
new file mode 100644
index 000000000000..5d5ddf125dca
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T17:48:05Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "Enable Monitoring in Azure Security Center",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
+ "policyDefinitionAction": "AuditIfNotExists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-09T17:48:05Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "9ac09b0657d942e5ad4041a6",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
+ "policyDefinitionAction": "AuditIfNotExists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeManagementGroupScope.json
new file mode 100644
index 000000000000..4bcc557b2103
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeManagementGroupScope.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupName": "myManagementGroup",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$to": "2019-10-06T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit'",
+ "$top": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-05 18:00:00Z&$to=2019-10-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit') and IsCompliant eq false",
+ "nonCompliantResources": 15410,
+ "nonCompliantPolicies": 68,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 1400
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 15410
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 68
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 14
+ }
+ ]
+ },
+ "policyAssignments": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..09df1ae99569
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
@@ -0,0 +1,151 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "b7a1ca2596524e3ab19597f2",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-22 23:54:22Z&$to=2019-10-23 23:54:22Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 7,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 7
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-22 23:54:22Z&$to=2019-10-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2'",
+ "nonCompliantResources": 7,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 7
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "policyDefinitionReferenceId": "2134906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-22 23:54:22Z&$to=2019-10-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60'",
+ "nonCompliantResources": 7,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 7
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 7
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupScope.json
new file mode 100644
index 000000000000..01908f881400
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceGroupScope.json
@@ -0,0 +1,247 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:55:09Z&$to=2019-10-13 19:55:09Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 20,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 55
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:55:09Z&$to=2019-10-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c'",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 55
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:55:09Z&$to=2019-10-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 100,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 100
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 100,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 100
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:55:09Z&$to=2019-10-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 55
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:55:09Z&$to=2019-10-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 55,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 55
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 55
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceScope.json
new file mode 100644
index 000000000000..8996d4be35d4
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeResourceScope.json
@@ -0,0 +1,241 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault",
+ "api-version": "2019-10-01",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:59:17Z&$to=2019-10-13 19:59:17Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 14,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:59:17Z&$to=2019-10-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:59:17Z&$to=2019-10-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066'",
+ "nonCompliantResources": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874'",
+ "nonCompliantResources": 7,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:59:17Z&$to=2019-10-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:59:17Z&$to=2019-10-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 100,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..70bce5491f0b
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
@@ -0,0 +1,252 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 4,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 4
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "2134906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "3424906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "7943906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 220,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 220
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionReferenceId": "1234906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:09:24Z&$to=2019-10-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
+ "nonCompliantResources": 54,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 54
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 100,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 100
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
new file mode 100644
index 000000000000..32bd0aeebc91
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
@@ -0,0 +1,419 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 561,
+ "nonCompliantPolicies": 4,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 561
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 558,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 558
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 558,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 558
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 7,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 558
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
+ "nonCompliantResources": 553,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 553
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "2481303924813039",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 553,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 553
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 553,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 553
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 20:07:10Z&$to=2019-10-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 531
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
new file mode 100644
index 000000000000..6831bbbae7b1
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$to": "2019-10-06T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-05 18:00:00Z&$to=2019-10-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny') and IsCompliant eq false",
+ "nonCompliantResources": 0,
+ "nonCompliantPolicies": 0,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScope.json
new file mode 100644
index 000000000000..abf85e292e49
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScope.json
@@ -0,0 +1,603 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 619,
+ "nonCompliantPolicies": 40,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 619
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "1b249ab8b4741b249ab8b474",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 531,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "2134906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
+ "nonCompliantResources": 552,
+ "nonCompliantPolicies": 3,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 552
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 3
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "5434906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 552,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 552
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "8724906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 29,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 29
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionReferenceId": "7254906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
+ "nonCompliantResources": 2,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 552
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 3
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScopeForPolicyGroup.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScopeForPolicyGroup.json
new file mode 100644
index 000000000000..05032961d6fd
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_SummarizeSubscriptionScopeForPolicyGroup.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$filter": "'group1' IN PolicyDefinitionGroupNames",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 17
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 140
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 17
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/ab379b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "1595906828137356523",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/ab379b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "2134906828137356512",
+ "policyDefinitionGroupNames": [
+ "group1"
+ ],
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 34,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 510
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 34
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ],
+ "policyGroups": [
+ {
+ "policyGroupName": "group1",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2019-10-12 19:48:53Z&$to=2019-10-13 19:48:53Z&$filter='group1' IN PolicyDefinitionGroupNames and PolicySetDefinitiontId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad' and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and 'group1' IN PolicyDefinitionGroupNames",
+ "nonCompliantResources": 557,
+ "resourceDetails": [
+ {
+ "complianceState": "compliant",
+ "count": 14
+ },
+ {
+ "complianceState": "noncompliant",
+ "count": 557
+ }
+ ],
+ "policyDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 2
+ }
+ ],
+ "policyGroupDetails": [
+ {
+ "complianceState": "noncompliant",
+ "count": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_TimeRangeSortSelectTop.json
new file mode 100644
index 000000000000..d4c3dcfa6620
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_TimeRangeSortSelectTop.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2019-10-01",
+ "$from": "2019-10-05T18:00:00Z",
+ "$to": "2019-10-06T18:00:00Z",
+ "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
+ "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId, policyDefinitionGroupNames",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-06T17:58:00Z",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroup": "myrg1",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/mysa1",
+ "policyDefinitionGroupNames": [
+ "myGroup"
+ ]
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2019-10-06T17:58:00Z",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroup": "myrg2",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg2/providers/Microsoft.Storage/storageAccounts/mysa2",
+ "policyDefinitionGroupNames": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json
new file mode 100644
index 000000000000..c8bfc024dbab
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json
@@ -0,0 +1,323 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PolicyMetadataClient",
+ "version": "2019-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}": {
+ "get": {
+ "operationId": "PolicyMetadata_GetResource",
+ "description": "Get policy metadata resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy metadata resource definition.",
+ "schema": {
+ "$ref": "#/definitions/PolicyMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a single policy metadata resource": {
+ "$ref": "./examples/PolicyMetadata_GetResource.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.PolicyInsights/policyMetadata": {
+ "get": {
+ "operationId": "PolicyMetadata_List",
+ "description": "Get a list of the policy metadata resources.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy metadata resource collection.",
+ "schema": {
+ "$ref": "#/definitions/PolicyMetadataCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get collection of policy metadata resources": {
+ "$ref": "./examples/PolicyMetadata_List.json"
+ },
+ "Get collection of policy metadata resources using top query parameter": {
+ "$ref": "./examples/PolicyMetadata_List_WithTop.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PolicyMetadata": {
+ "description": "Policy metadata resource definition.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyMetadataProperties",
+ "description": "Properties of the policy metadata."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the policy metadata.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the policy metadata.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the policy metadata.",
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyMetadataSlimProperties": {
+ "description": "The properties of the policy metadata, excluding properties containing large strings",
+ "properties": {
+ "metadataId": {
+ "description": "The policy metadata identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "category": {
+ "description": "The category of the policy metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "title": {
+ "description": "The title of the policy metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "owner": {
+ "description": "The owner of the policy metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalContentUrl": {
+ "description": "Url for getting additional content about the resource metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "metadata": {
+ "description": "Additional metadata.",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyMetadataProperties": {
+ "description": "The properties of the policy metadata.",
+ "properties": {
+ "description": {
+ "description": "The description of the policy metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requirements": {
+ "description": "The requirements of the policy metadata.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyMetadataSlimProperties"
+ }
+ ]
+ },
+ "SlimPolicyMetadata": {
+ "description": "Slim version of policy metadata resource definition, excluding properties with large strings",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyMetadataSlimProperties",
+ "description": "Properties of the policy metadata."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the policy metadata.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the policy metadata.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the policy metadata.",
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyMetadataCollection": {
+ "description": "Collection of policy metadata resources.",
+ "properties": {
+ "value": {
+ "description": "Array of policy metadata definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SlimPolicyMetadata"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "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
+ },
+ "target": {
+ "description": "The target of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional scenario specific error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TypedErrorInfo"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TypedErrorInfo": {
+ "description": "Scenario specific error details.",
+ "properties": {
+ "type": {
+ "description": "The type of included error details.",
+ "type": "string",
+ "readOnly": true
+ },
+ "info": {
+ "description": "The scenario specific error details.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the policy metadata resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "topParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Maximum number of records to return.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Top"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json
new file mode 100644
index 000000000000..ab104e5d24e9
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json
@@ -0,0 +1,1695 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PolicyStatesClient",
+ "version": "2019-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForManagementGroup",
+ "description": "Queries policy states for the resources under the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at management group scope": {
+ "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json"
+ }
+ }
+ }
+ },
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForManagementGroup",
+ "description": "Summarizes policy states for the resources under the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at management group scope": {
+ "$ref": "./examples/PolicyStates_SummarizeManagementGroupScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForSubscription",
+ "description": "Queries policy states for the resources under the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json"
+ },
+ "Time range; sort, select and limit": {
+ "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json"
+ },
+ "Filter and group with aggregate": {
+ "$ref": "./examples/PolicyStates_FilterAndGroupByWithAggregate.json"
+ },
+ "Filter and group without aggregate": {
+ "$ref": "./examples/PolicyStates_FilterAndGroupByWithoutAggregate.json"
+ },
+ "Filter and aggregate only": {
+ "$ref": "./examples/PolicyStates_FilterAndAggregateOnly.json"
+ },
+ "Filter and multiple groups": {
+ "$ref": "./examples/PolicyStates_FilterAndMultipleGroups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForSubscription",
+ "description": "Summarizes policy states for the resources under the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at subscription scope": {
+ "$ref": "./examples/PolicyStates_SummarizeSubscriptionScope.json"
+ },
+ "Summarize at subscription scope for a policy definition group": {
+ "$ref": "./examples/PolicyStates_SummarizeSubscriptionScopeForPolicyGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResourceGroup",
+ "description": "Queries policy states for the resources under the resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at resource group scope": {
+ "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResourceGroup",
+ "description": "Summarizes policy states for the resources under the resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at resource group scope": {
+ "$ref": "./examples/PolicyStates_SummarizeResourceGroupScope.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResource",
+ "description": "Queries policy states for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ },
+ {
+ "$ref": "#/parameters/expandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query all policy states at resource scope": {
+ "$ref": "./examples/PolicyStates_QueryResourceScope.json"
+ },
+ "Query all policy states at subscription level resource scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json"
+ },
+ "Query all policy states at nested resource scope": {
+ "$ref": "./examples/PolicyStates_QueryNestedResourceScope.json"
+ },
+ "Query all policy states at subscription level nested resource scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json"
+ },
+ "Query all policy states at resource scope and expand policyEvaluationDetails": {
+ "$ref": "./examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResource",
+ "description": "Summarizes policy states for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at resource scope": {
+ "$ref": "./examples/PolicyStates_SummarizeResourceScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForPolicySetDefinition",
+ "description": "Queries policy states for the subscription level policy set definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policySetDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy set definition scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForPolicySetDefinition",
+ "description": "Summarizes policy states for the subscription level policy set definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policySetDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy set definition scope": {
+ "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForPolicyDefinition",
+ "description": "Queries policy states for the subscription level policy definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy definition scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForPolicyDefinition",
+ "description": "Summarizes policy states for the subscription level policy definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy definition scope": {
+ "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForSubscriptionLevelPolicyAssignment",
+ "description": "Queries policy states for the subscription level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy assignment scope": {
+ "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForSubscriptionLevelPolicyAssignment",
+ "description": "Summarizes policy states for the subscription level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy assignment scope": {
+ "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResourceGroupLevelPolicyAssignment",
+ "description": "Queries policy states for the resource group level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at resource group level policy assignment scope": {
+ "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResourceGroupLevelPolicyAssignment",
+ "description": "Summarizes policy states for the resource group level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy assignment scope": {
+ "$ref": "./examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.PolicyInsights/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists available operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List operations": {
+ "$ref": "./examples/PolicyStates_ListOperations.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PolicyStatesQueryResults": {
+ "description": "Query results.",
+ "properties": {
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "@odata.count": {
+ "description": "OData entity count; represents the number of policy state records returned.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "value": {
+ "description": "Query results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyState"
+ }
+ }
+ }
+ },
+ "PolicyState": {
+ "type": "object",
+ "description": "Policy state record.",
+ "properties": {
+ "@odata.id": {
+ "description": "OData entity ID; always set to null since policy state records do not have an entity ID.",
+ "type": "string"
+ },
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "Timestamp for the policy state record.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "resourceId": {
+ "description": "Resource ID.",
+ "type": "string"
+ },
+ "policyAssignmentId": {
+ "description": "Policy assignment ID.",
+ "type": "string"
+ },
+ "policyDefinitionId": {
+ "description": "Policy definition ID.",
+ "type": "string"
+ },
+ "effectiveParameters": {
+ "description": "Effective parameters for the policy assignment.",
+ "type": "string"
+ },
+ "isCompliant": {
+ "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against. This property is deprecated; please use ComplianceState instead.",
+ "type": "boolean"
+ },
+ "subscriptionId": {
+ "description": "Subscription ID.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource type.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ },
+ "resourceTags": {
+ "description": "List of resource tags.",
+ "type": "string"
+ },
+ "policyAssignmentName": {
+ "description": "Policy assignment name.",
+ "type": "string"
+ },
+ "policyAssignmentOwner": {
+ "description": "Policy assignment owner.",
+ "type": "string"
+ },
+ "policyAssignmentParameters": {
+ "description": "Policy assignment parameters.",
+ "type": "string"
+ },
+ "policyAssignmentScope": {
+ "description": "Policy assignment scope.",
+ "type": "string"
+ },
+ "policyDefinitionName": {
+ "description": "Policy definition name.",
+ "type": "string"
+ },
+ "policyDefinitionAction": {
+ "description": "Policy definition action, i.e. effect.",
+ "type": "string"
+ },
+ "policyDefinitionCategory": {
+ "description": "Policy definition category.",
+ "type": "string"
+ },
+ "policySetDefinitionId": {
+ "description": "Policy set definition ID, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionName": {
+ "description": "Policy set definition name, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionOwner": {
+ "description": "Policy set definition owner, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionCategory": {
+ "description": "Policy set definition category, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionParameters": {
+ "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "managementGroupIds": {
+ "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "Compliance state of the resource.",
+ "type": "string"
+ },
+ "policyEvaluationDetails": {
+ "description": "Policy evaluation details.",
+ "type": "object",
+ "$ref": "#/definitions/PolicyEvaluationDetails"
+ },
+ "policyDefinitionGroupNames": {
+ "description": "Policy definition group names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": {
+ "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
+ }
+ },
+ "PolicyEvaluationDetails": {
+ "type": "object",
+ "description": "Policy evaluation details.",
+ "properties": {
+ "evaluatedExpressions": {
+ "description": "Details of the evaluated expressions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressionEvaluationDetails"
+ }
+ },
+ "ifNotExistsDetails": {
+ "description": "Evaluation details of IfNotExists effect.",
+ "type": "object",
+ "$ref": "#/definitions/IfNotExistsEvaluationDetails"
+ }
+ }
+ },
+ "ExpressionEvaluationDetails": {
+ "type": "object",
+ "description": "Evaluation details of policy language expressions.",
+ "properties": {
+ "result": {
+ "description": "Evaluation result.",
+ "type": "string"
+ },
+ "expression": {
+ "description": "Expression evaluated.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Property path if the expression is a field or an alias.",
+ "type": "string"
+ },
+ "expressionValue": {
+ "description": "Value of the expression.",
+ "type": "object"
+ },
+ "targetValue": {
+ "description": "Target value to be compared with the expression value.",
+ "type": "object"
+ },
+ "operator": {
+ "description": "Operator to compare the expression value and the target value.",
+ "type": "string"
+ }
+ }
+ },
+ "IfNotExistsEvaluationDetails": {
+ "type": "object",
+ "description": "Evaluation details of IfNotExists effect.",
+ "properties": {
+ "resourceId": {
+ "description": "ID of the last evaluated resource for IfNotExists effect.",
+ "type": "string"
+ },
+ "totalResources": {
+ "description": "Total number of resources to which the existence condition is applicable.",
+ "type": "integer"
+ }
+ }
+ },
+ "SummarizeResults": {
+ "description": "Summarize action results.",
+ "properties": {
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "@odata.count": {
+ "description": "OData entity count; represents the number of summaries returned; always set to 1.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1
+ },
+ "value": {
+ "description": "Summarize action results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Summary"
+ }
+ }
+ }
+ },
+ "Summary": {
+ "description": "Summary results.",
+ "properties": {
+ "@odata.id": {
+ "description": "OData entity ID; always set to null since summaries do not have an entity ID.",
+ "type": "string"
+ },
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Compliance summary for all policy assignments.",
+ "$ref": "#/definitions/SummaryResults"
+ },
+ "policyAssignments": {
+ "description": "Policy assignments summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyAssignmentSummary"
+ }
+ }
+ }
+ },
+ "SummaryResults": {
+ "description": "Compliance summary on a particular summary level.",
+ "properties": {
+ "queryResultsUri": {
+ "description": "HTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the compliance summary. This property will not be available by default in future API versions, but could be queried explicitly.",
+ "type": "string"
+ },
+ "nonCompliantResources": {
+ "description": "Number of non-compliant resources.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "nonCompliantPolicies": {
+ "description": "Number of non-compliant policies.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "resourceDetails": {
+ "description": "The resources summary at this level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComplianceDetail"
+ }
+ },
+ "policyDetails": {
+ "description": "The policy artifact summary at this level. For query scope level, it represents policy assignment summary. For policy assignment level, it represents policy definitions summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComplianceDetail"
+ }
+ },
+ "policyGroupDetails": {
+ "description": "The policy definition group summary at this level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComplianceDetail"
+ }
+ }
+ }
+ },
+ "ComplianceDetail": {
+ "description": "The compliance state rollup.",
+ "properties": {
+ "complianceState": {
+ "description": "The compliance state.",
+ "type": "string"
+ },
+ "count": {
+ "description": "Summarized count value for this compliance state.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "PolicyAssignmentSummary": {
+ "description": "Policy assignment summary.",
+ "properties": {
+ "policyAssignmentId": {
+ "description": "Policy assignment ID.",
+ "type": "string"
+ },
+ "policySetDefinitionId": {
+ "description": "Policy set definition ID, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Compliance summary for the policy assignment.",
+ "$ref": "#/definitions/SummaryResults"
+ },
+ "policyDefinitions": {
+ "description": "Policy definitions summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyDefinitionSummary"
+ }
+ },
+ "policyGroups": {
+ "description": "Policy definition group summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyGroupSummary"
+ }
+ }
+ }
+ },
+ "PolicyDefinitionSummary": {
+ "description": "Policy definition summary.",
+ "properties": {
+ "policyDefinitionId": {
+ "description": "Policy definition ID.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "Policy definition reference ID.",
+ "type": "string"
+ },
+ "policyDefinitionGroupNames": {
+ "description": "Policy definition group names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "effect": {
+ "description": "Policy effect, i.e. policy definition action.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Compliance summary for the policy definition.",
+ "$ref": "#/definitions/SummaryResults"
+ }
+ }
+ },
+ "PolicyGroupSummary": {
+ "description": "Policy definition group summary.",
+ "properties": {
+ "policyGroupName": {
+ "description": "Policy group name.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Compliance summary for the policy definition group.",
+ "$ref": "#/definitions/SummaryResults"
+ }
+ }
+ },
+ "QueryFailure": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "OperationsListResults": {
+ "description": "List of available operations.",
+ "properties": {
+ "@odata.count": {
+ "description": "OData entity count; represents the number of operations returned.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "value": {
+ "description": "List of available operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation definition.",
+ "properties": {
+ "name": {
+ "description": "Operation name.",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "MetadataDocument": {
+ "description": "Metadata XML document.",
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "policyStatesResourceParameter": {
+ "name": "policyStatesResource",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default",
+ "latest"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyStatesResource",
+ "modelAsString": true
+ },
+ "description": "The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s).",
+ "x-ms-parameter-location": "method"
+ },
+ "policyStatesSummaryResourceParameter": {
+ "name": "policyStatesSummaryResource",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "latest"
+ ],
+ "description": "The virtual resource under PolicyStates resource type for summarize action. In a given time range, 'latest' represents the latest policy state(s) and is the only allowed value.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupsNamespaceParameter": {
+ "name": "managementGroupsNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.Management"
+ ],
+ "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupNameParameter": {
+ "name": "managementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Microsoft Azure subscription ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceIdParameter": {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource ID.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "authorizationNamespaceParameter": {
+ "name": "authorizationNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.Authorization"
+ ],
+ "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.",
+ "x-ms-parameter-location": "method"
+ },
+ "policySetDefinitionNameParameter": {
+ "name": "policySetDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy set definition name.",
+ "x-ms-parameter-location": "method"
+ },
+ "policyDefinitionNameParameter": {
+ "name": "policyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy definition name.",
+ "x-ms-parameter-location": "method"
+ },
+ "policyAssignmentNameParameter": {
+ "name": "policyAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy assignment name.",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "topParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Maximum number of records to return.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Top"
+ },
+ "orderByParameter": {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "OrderBy"
+ },
+ "selectParameter": {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Select"
+ },
+ "fromParameter": {
+ "name": "$from",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "From"
+ },
+ "toParameter": {
+ "name": "$to",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "To"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Filter"
+ },
+ "applyParameter": {
+ "name": "$apply",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData apply expression for aggregations.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Apply"
+ },
+ "expandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. For example, to expand policyEvaluationDetails, use $expand=policyEvaluationDetails",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Expand"
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/readme.go.md b/specification/policyinsights/resource-manager/readme.go.md
index 88dfac2f0091..fa3fa5126749 100644
--- a/specification/policyinsights/resource-manager/readme.go.md
+++ b/specification/policyinsights/resource-manager/readme.go.md
@@ -13,12 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-10
- tag: package-2018-07
- tag: package-2018-04
- - tag: package-2017-12
- - tag: package-2017-10
- - tag: package-2017-08
```
+### Tag: package-2019-10 and go
+
+These settings apply only when `--tag=package-2019-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(go)
+output-folder: $(go-sdk-folder)/services//$(namespace)/mgmt/2019-10-01/$(namespace)
+```
+
### Tag: package-2018-07 and go
These settings apply only when `--tag=package-2018-07 --go` is specified on the command line.
@@ -37,29 +44,3 @@ Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-12' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-12-12-preview/$(namespace)
-```
-
-### Tag: package-2017-10 and go
-
-These settings apply only when `--tag=package-2017-10 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-10' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-10-17-preview/$(namespace)
-```
-
-### Tag: package-2017-08 and go
-
-These settings apply only when `--tag=package-2017-08 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-08' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-08-09-preview/$(namespace)
-```
diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md
index befba460552e..3b88aeb0b6a8 100644
--- a/specification/policyinsights/resource-manager/readme.md
+++ b/specification/policyinsights/resource-manager/readme.md
@@ -27,7 +27,7 @@ These are the global settings for the PolicyInsights API.
``` yaml
title: PolicyInsightsClient
openapi-type: arm
-tag: package-2018-07
+tag: package-2019-10
```
### Validations
@@ -55,8 +55,33 @@ directive:
- $.paths["/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata"].get.produces[0]
- $.paths["/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata"].get.produces[0]
+ - suppress: OperationIdNounConflictingModelNames
+ reason: Metadata is already in plural form.
+ where:
+ - $.paths["/providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}"].get.operationId
+ - $.paths["/providers/Microsoft.PolicyInsights/policyMetadata"].get.operationId
+
+ - suppress: PageableOperation
+ reason: The operations API is not pagable.
+ where:
+ - $.paths["/providers/Microsoft.PolicyInsights/operations"].get
+
+```
+
+### 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.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json
+- Microsoft.PolicyInsights/stable/2019-07-01/remediations.json
+- Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json
+- Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json
+- Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json
```
+
### Tag: package-2018-07
These settings apply only when `--tag=package-2018-07` is specified on the command line.
@@ -80,40 +105,6 @@ input-file:
- Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json
```
-
-### Tag: package-2017-12
-
-These settings apply only when `--tag=package-2017-12` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-12'
-input-file:
-- Microsoft.PolicyInsights/preview/2017-12-12-preview/policyEvents.json
-- Microsoft.PolicyInsights/preview/2017-12-12-preview/policyStates.json
-```
-
-
-### Tag: package-2017-10
-
-These settings apply only when `--tag=package-2017-10` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-10'
-input-file:
-- Microsoft.PolicyInsights/preview/2017-10-17-preview/policyEvents.json
-- Microsoft.PolicyInsights/preview/2017-10-17-preview/policyStates.json
-```
-
-
-### Tag: package-2017-08
-
-These settings apply only when `--tag=package-2017-08` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-08'
-input-file:
-- Microsoft.PolicyInsights/preview/2017-08-09-preview/policyEvents.json
-- Microsoft.PolicyInsights/preview/2017-08-09-preview/policyStates.json
-```
-
-
---
# Code Generation
@@ -197,10 +188,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-policyinsights
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-10
- tag: package-2018-07
- tag: package-2018-04
```
+### Tag: package-2019-10 and java
+
+These settings apply only when `--tag=package-2019-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-10' && $(java)
+java:
+ namespace: com.microsoft.azure.management.policyinsights.v2019_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/policyinsights/mgmt-v2019_10_01
+regenerate-manager: true
+generate-interface: true
+```
+
+
### Tag: package-2018-07 and java
These settings apply only when `--tag=package-2018-07 --java` is specified on the command line.
@@ -209,7 +215,7 @@ Please also specify `--azure-libraries-for-java-folder=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
- },
- "headers": {}
- }
- },
- "202": {
- "headers": {
- "Retry-After": 60,
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
- },
- "body": {
- "operation": {
- "objectType": "ExportJobsOperationResultInfo"
- },
- "headers": {
- "Location": [
- "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
- ],
- "Retry-After": [
- "60"
- ]
- }
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
deleted file mode 100644
index b6ce62c4e69d..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "jobName": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-07-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT9.8782791S",
- "virtualMachineVersion": "Compute",
- "extendedInfo": {
- "tasksList": [
- {
- "taskId": "Take Snapshot",
- "duration": "PT0S",
- "status": "InProgress"
- },
- {
- "taskId": "Transfer data to vault",
- "duration": "PT0S",
- "status": "NotStarted"
- }
- ],
- "propertyBag": {
- "VM Name": "testvm"
- }
- },
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
deleted file mode 100644
index 78d9a70b88f3..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT12.4272909S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- },
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT31.3066291S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "ConfigureBackup",
- "status": "Completed",
- "startTime": "2017-08-03T05:30:32.4487085Z",
- "endTime": "2017-08-03T05:31:03.7553376Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
deleted file mode 100644
index bd6bdf4a9147..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
- "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT12.4272909S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
deleted file mode 100644
index dd7bdd1125d6..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01",
- "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT12.4272909S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- },
- {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
- "name": "00000000-0000-0000-0000-000000000000",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT31.3066291S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "testvm",
- "backupManagementType": "AzureIaasVM",
- "operation": "ConfigureBackup",
- "status": "Completed",
- "startTime": "2017-08-03T05:30:32.4487085Z",
- "endTime": "2017-08-03T05:31:03.7553376Z",
- "activityId": "00000000-0000-0000-0000-000000000000"
- }
- }
- ],
- "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
- }
- }
- }
-}
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/2017-07-01/examples/Common/TriggerExportJobs.json
deleted file mode 100644
index 8b01e80dc2f3..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExportJobs.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
- "Retry-After": 60
- }
- }
- }
-}
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..24274a982122
--- /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"
+ ]
+ }
+ ]
+}
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/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..85d863d25ac1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13",
+ "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..05d4554fbc30
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..0ca6274f151f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json
new file mode 100644
index 000000000000..769b668cdf2e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ConfigureProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json
new file mode 100644
index 000000000000..cd6891cc3bdd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
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/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
new file mode 100644
index 000000000000..dfaff12a253e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -0,0 +1,75 @@
+{
+ "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": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json
new file mode 100644
index 000000000000..09c27724aaf5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
new file mode 100644
index 000000000000..57a1d385af76
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..02afdf9cab49
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "recoveryPointId": "26083826328862",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862",
+ "name": "26083826328862",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-11-22T22:32:46.6088472Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..6504b3546ee9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json
new file mode 100644
index 000000000000..d56e6aa4bb0c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/StopProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionState": "ProtectionStopped"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "ProtectionStopped",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json
new file mode 100644
index 000000000000..fb8a85232a4c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_ALR.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
new file mode 100644
index 000000000000..c0156c200bf7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
new file mode 100644
index 000000000000..a59d5480b572
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-05-13",
+ "parameters": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
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/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json
new file mode 100644
index 000000000000..2b7272148657
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2019-05-13"
+ },
+ "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": "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/2019-05-13/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json
new file mode 100644
index 000000000000..c9c4de9a3239
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/CancelJobOperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "204": {},
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json
new file mode 100644
index 000000000000..dfd2371f40e1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ExportJobsOperationResult.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo",
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
+ },
+ "headers": {}
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ },
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo"
+ },
+ "headers": {
+ "Location": [
+ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ ],
+ "Retry-After": [
+ "60"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json
new file mode 100644
index 000000000000..f2ca44612c86
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/GetJobDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT9.8782791S",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [
+ {
+ "taskId": "Take Snapshot",
+ "duration": "PT0S",
+ "status": "InProgress"
+ },
+ {
+ "taskId": "Transfer data to vault",
+ "duration": "PT0S",
+ "status": "NotStarted"
+ }
+ ],
+ "propertyBag": {
+ "VM Name": "testvm"
+ }
+ },
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json
new file mode 100644
index 000000000000..2fd11a66f8ce
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json
new file mode 100644
index 000000000000..e796396846fb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "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": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
new file mode 100644
index 000000000000..064e8ce9b8ef
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "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": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json
new file mode 100644
index 000000000000..10015f9ec309
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/ProtectedItem_Delete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json
new file mode 100644
index 000000000000..097ac0743640
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerCancelJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json
new file mode 100644
index 000000000000..d70c8bd6e771
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-05-13/examples/Common/TriggerExportJobs.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-05-13"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json
new file mode 100644
index 000000000000..6ff3c63b4322
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json
@@ -0,0 +1,5173 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-15",
+ "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": {
+ "instantRPDetails": {
+ "$ref": "#/definitions/InstantRPAdditionalDetails"
+ },
+ "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"
+ },
+ "InstantRPAdditionalDetails": {
+ "type": "object",
+ "properties": {
+ "azureBackupRGNamePrefix": {
+ "type": "string"
+ },
+ "azureBackupRGNameSuffix": {
+ "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"
+ },
+ "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.",
+ "required": [
+ "protectedItemType"
+ ],
+ "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"
+ },
+ "targetDirectoryForFileRestore": {
+ "description": "Target directory location for restore as files.",
+ "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"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/BackupPolicies_List.json
new file mode 100644
index 000000000000..fc2c06ed00d7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/BackupPolicies_List.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15",
+ "$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/2019-06-15/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..0af1a5e2d311
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15",
+ "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..58e625cad181
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..df420bf905a1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ConfigureProtection.json
new file mode 100644
index 000000000000..c65d24a58868
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ConfigureProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectedItemOperationResults.json
new file mode 100644
index 000000000000..620fc00b0474
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..36299ea1fe2f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/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-06-15",
+ "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/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
new file mode 100644
index 000000000000..df749edb0f33
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_Get.json
new file mode 100644
index 000000000000..d6e9dd3d37bf
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
new file mode 100644
index 000000000000..341db335ac37
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..c09b0da2e36a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "recoveryPointId": "26083826328862",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862",
+ "name": "26083826328862",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-11-22T22:32:46.6088472Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..c7def4baf6ef
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/StopProtection.json
new file mode 100644
index 000000000000..0b1bc6aa3b27
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/StopProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionState": "ProtectionStopped"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "ProtectionStopped",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_ALR.json
new file mode 100644
index 000000000000..79ce11e4796c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_ALR.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
new file mode 100644
index 000000000000..e3319fdfb201
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
new file mode 100644
index 000000000000..5c9c915685f5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2019-06-15",
+ "parameters": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureWorkload/BackupPolicies_List.json
new file mode 100644
index 000000000000..345704199d42
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureWorkload/BackupPolicies_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15",
+ "$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-06-15/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..df49995d8d60
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/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-06-15",
+ "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/2019-06-15/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/BackupResourceVaultConfigs_Get.json
new file mode 100644
index 000000000000..3afb23d5160a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2019-06-15"
+ },
+ "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": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/BackupResourceVaultConfigs_Patch.json
new file mode 100644
index 000000000000..3afab713b496
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/BackupResourceVaultConfigs_Patch.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2019-06-15",
+ "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/2019-06-15/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/CancelJobOperationResult.json
new file mode 100644
index 000000000000..63e435e0db8e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/CancelJobOperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "204": {},
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ExportJobsOperationResult.json
new file mode 100644
index 000000000000..d7e737fcd04c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ExportJobsOperationResult.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo",
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
+ },
+ "headers": {}
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ },
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo"
+ },
+ "headers": {
+ "Location": [
+ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ ],
+ "Retry-After": [
+ "60"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/GetJobDetails.json
new file mode 100644
index 000000000000..077f4bb9c7f0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/GetJobDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT9.8782791S",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [
+ {
+ "taskId": "Take Snapshot",
+ "duration": "PT0S",
+ "status": "InProgress"
+ },
+ {
+ "taskId": "Transfer data to vault",
+ "duration": "PT0S",
+ "status": "NotStarted"
+ }
+ ],
+ "propertyBag": {
+ "VM Name": "testvm"
+ }
+ },
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobs.json
new file mode 100644
index 000000000000..0f138a87eba8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithAllSupportedFilters.json
new file mode 100644
index 000000000000..fd04c044c41f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
new file mode 100644
index 000000000000..1f1aa1a63914
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ProtectedItem_Delete.json
new file mode 100644
index 000000000000..52ba8dabefe8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/ProtectedItem_Delete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerCancelJob.json
new file mode 100644
index 000000000000..43df73675bc5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerCancelJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerExportJobs.json
new file mode 100644
index 000000000000..229adf3c239a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/examples/Common/TriggerExportJobs.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2019-06-15"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.go.md b/specification/recoveryservicesbackup/resource-manager/readme.go.md
index 87d31c0fe980..902d33498d2d 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.go.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-05
- tag: package-2017-07
- tag: package-2016-12
- tag: package-2016-06
```
+### 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/recoveryservices/mgmt/2019-05-13/$(namespace)
+```
+
### Tag: package-2017-07 and go
These settings apply only when `--tag=package-2017-07 --go` is specified on the command line.
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.java.md b/specification/recoveryservicesbackup/resource-manager/readme.java.md
index 7da910127609..b54903820c62 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.java.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.java.md
@@ -28,7 +28,7 @@ Please also specify `--azure-libraries-for-java= Settings > Properties > Status' in Azure portal.\n ",
+ "status": "Error"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json
index d1b5609c2242..15284b3961db 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json
@@ -11,7 +11,20 @@
"properties": {
"policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
"providerSpecificDetails": {
- "instanceType": "VMwareCbt"
+ "instanceType": "VMwareCbt",
+ "disksToInclude" : [
+ {
+ "diskId": "disk1",
+ "isOSDisk": "true",
+ "logStorageAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Storage/storageAccounts/logStorageAccount1",
+ "logStorageAccountSasSecretName": "logStorageSas"
+ }
+ ],
+ "vmwareMachineId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/machines/virtualmachine1",
+ "targetNetworkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1",
+ "targetResourceGroupId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1",
+ "snapshotRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/snapshotRunAsAccount1",
+ "dataMoverRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/dataMoverRunAsAccount1"
}
}
}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json
index b36b287644a0..6b0a828b1a93 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json
@@ -10,7 +10,8 @@
"migrateInput": {
"properties": {
"providerSpecificDetails": {
- "instanceType": "VMwareCbt"
+ "instanceType": "VMwareCbt",
+ "performShutdown": "true"
}
}
}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json
index c51000eb5348..e77ace744ef2 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json
@@ -10,7 +10,9 @@
"testMigrateInput": {
"properties": {
"providerSpecificDetails": {
- "instanceType": "VMwareCbt"
+ "instanceType": "VMwareCbt",
+ "recoveryPointId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/9e737191-317e-43d0-8c83-e32ac3b34686",
+ "networkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1"
}
}
}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json
index 69a5201b6fec..c0d87c59ccd5 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json
@@ -14,7 +14,7 @@
"vmDisks": [
{
"diskUri": "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd",
- "recoveryAureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage",
+ "recoveryAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage",
"primaryStagingAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/primaryResource/providers/Microsoft.Storage/storageAccounts/vmcachestorage"
}
]
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
index f2af3cb8f693..5a43715b05d5 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
@@ -205,6 +205,96 @@
}
}
},
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsCollection"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_Get.json"
+ }
+ }
+ }
+ },
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": {
"get": {
"tags": [
@@ -7709,6 +7799,10 @@
"description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
"type": "string"
},
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
"diskName": {
"description": "The disk name.",
"type": "string"
@@ -7783,6 +7877,14 @@
"kekKeyVaultArmId": {
"description": "The KeyVault resource id for key (KEK).",
"type": "string"
+ },
+ "failoverDiskName": {
+ "description": "The failover name for the managed disk.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The test failover name for the managed disk.",
+ "type": "string"
}
}
},
@@ -7987,6 +8089,10 @@
"description": "The recovery virtual network.",
"type": "string"
},
+ "selectedTfoAzureNetworkId": {
+ "description": "The test failover virtual network.",
+ "type": "string"
+ },
"vmNics": {
"description": "The virtual machine nic details.",
"type": "array",
@@ -8067,6 +8173,10 @@
"name": "VmEncryptionType",
"modelAsString": true
}
+ },
+ "tfoAzureVMName": {
+ "description": "The test failover VM name.",
+ "type": "string"
}
},
"x-ms-discriminator-value": "A2A"
@@ -8234,6 +8344,10 @@
"diskEncryptionInfo": {
"$ref": "#/definitions/DiskEncryptionInfo",
"description": "The recovery os disk encryption information."
+ },
+ "tfoAzureVMName": {
+ "description": "The user given name for test failover VM.",
+ "type": "string"
}
},
"x-ms-discriminator-value": "A2A"
@@ -8280,6 +8394,10 @@
"description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
"type": "string"
},
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
"diskEncryptionInfo": {
"$ref": "#/definitions/DiskEncryptionInfo",
"description": "The recovery disk encryption information (for one / single pass flows)."
@@ -8305,6 +8423,14 @@
"diskEncryptionInfo": {
"$ref": "#/definitions/DiskEncryptionInfo",
"description": "The recovery disk encryption information (for one / single pass flows)."
+ },
+ "failoverDiskName": {
+ "description": "The target disk name for unplanned failover operation.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The target disk name for test failover operation.",
+ "type": "string"
}
}
},
@@ -8743,6 +8869,10 @@
"description": "The VHD id.",
"type": "string"
},
+ "diskId": {
+ "description": "The disk resource id.",
+ "type": "string"
+ },
"vhdName": {
"description": "VHD name.",
"type": "string"
@@ -8762,6 +8892,10 @@
"lunId": {
"description": "Ordinal\\LunId of the disk for the Azure VM.",
"type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
}
}
},
@@ -9613,8 +9747,7 @@
"properties": {
"instanceType": {
"description": "Gets the class type.",
- "type": "string",
- "readOnly": true
+ "type": "string"
}
},
"discriminator": "instanceType"
@@ -10378,6 +10511,13 @@
"useManagedDisks": {
"description": "A value indicating whether managed disks should be used during failover.",
"type": "string"
+ },
+ "diskIdToDiskEncryptionMap": {
+ "description": "The dictionary of disk resource Id to disk encryption set ARM Id.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
},
"x-ms-discriminator-value": "HyperVReplicaAzure"
@@ -11139,6 +11279,10 @@
"name": "DiskAccountType",
"modelAsString": true
}
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
}
}
},
@@ -11222,6 +11366,10 @@
"name": "DiskAccountType",
"modelAsString": true
}
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
}
},
"x-ms-discriminator-value": "InMageAzureV2"
@@ -12466,6 +12614,27 @@
}
}
},
+ "IPConfig": {
+ "description": "IP configuration details.",
+ "type": "object",
+ "properties": {
+ "staticIPAddress": {
+ "description": "The static IP address of the IP configuration.",
+ "type": "string"
+ },
+ "publicIpAddressId": {
+ "description": "The Id of the public IP address associated with the IP configuration.",
+ "type": "string"
+ },
+ "lBBackendAddressPoolIds": {
+ "description": "The backend address pools associated with the IP configuration.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
"Job": {
"description": "Job details.",
"type": "object",
@@ -14349,9 +14518,6 @@
},
"RecoveryPlanHyperVReplicaAzureFailoverInput": {
"description": "Recovery plan HVR Azure failover input.",
- "required": [
- "vaultLocation"
- ],
"type": "object",
"allOf": [
{
@@ -15037,6 +15203,96 @@
}
}
},
+ "ReplicationEligibilityResults": {
+ "description": "Replication eligibility results response model.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets the name of this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets the object type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets Unique ARM identifier for this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsProperties",
+ "description": "Gets properties model for replication eligibility results API.",
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationEligibilityResultsCollection": {
+ "description": "Replication eligibility results collection response model.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The replication eligibility results details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ }
+ },
+ "ReplicationEligibilityResultsErrorInfo": {
+ "description": "Error model that can be exposed to the user.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The error status.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationEligibilityResultsProperties": {
+ "description": "Properties model for replication eligibility results API.",
+ "type": "object",
+ "properties": {
+ "clientRequestId": {
+ "description": "The client request Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errors": {
+ "description": "The error details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo"
+ }
+ }
+ }
+ },
"ReplicationGroupDetails": {
"description": "Replication group details. This will be used in case of San and Wvr.",
"type": "object",
@@ -15756,8 +16012,7 @@
"properties": {
"instanceType": {
"description": "Gets the Instance type.",
- "type": "string",
- "readOnly": true
+ "type": "string"
}
},
"discriminator": "instanceType"
@@ -16217,6 +16472,10 @@
"description": "Target Azure Network Id.",
"type": "string"
},
+ "selectedTfoAzureNetworkId": {
+ "description": "The Azure Network Id for test failover.",
+ "type": "string"
+ },
"selectedSourceNicId": {
"description": "The selected source nic Id which will be used as the primary nic during failover.",
"type": "string"
@@ -16767,6 +17026,29 @@
"enableAcceleratedNetworkingOnRecovery": {
"description": "A value indicating whether the NIC has accelerated networking enabled.",
"type": "boolean"
+ },
+ "tfoVMNetworkId": {
+ "description": "The network to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "tfoVMSubnetName": {
+ "description": "The subnet to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the test failover NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoIPConfigs": {
+ "description": "The IP configurations to be used by NIC during test failover.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfig"
+ }
}
}
},
@@ -16808,6 +17090,26 @@
"enableAcceleratedNetworkingOnRecovery": {
"description": "Whether the NIC has accelerated networking enabled.",
"type": "boolean"
+ },
+ "tfoVMSubnetName": {
+ "description": "The subnet to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the test NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoIPConfigs": {
+ "description": "The IP configurations to be used by NIC during test failover.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfig"
+ }
}
}
},
diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
index 32270646b026..e6d7500824d8 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2018-07
- tag: package-2018-01
- tag: package-2016-08
```
+### Tag: package-2018-07 and go
+
+These settings apply only when `--tag=package-2018-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2018-07' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2018-07-10/$(namespace)
+```
+
### Tag: package-2018-01 and go
These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
@@ -33,4 +43,4 @@ Please also specify `--go-sdk-folder= `autorest`
@@ -15,18 +15,28 @@ To build the SDK for Redis, 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 Redis API.
``` yaml
openapi-type: arm
-tag: package-2018-03
+tag: package-2019-07-preview
+```
+
+
+### Tag: package-2019-07-preview
+
+These settings apply only when `--tag=package-2019-07-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-07-preview'
+input-file:
+ - Microsoft.Cache/preview/2019-07-01/redis.json
```
### Tag: package-2018-03
@@ -38,7 +48,6 @@ input-file:
- Microsoft.Cache/stable/2018-03-01/redis.json
```
-
### Tag: package-2017-10
These settings apply only when `--tag=package-2017-10` is specified on the command line.
@@ -48,7 +57,6 @@ input-file:
- Microsoft.Cache/stable/2017-10-01/redis.json
```
-
### Tag: package-2017-02
These settings apply only when `--tag=package-2017-02` is specified on the command line.
@@ -58,7 +66,6 @@ input-file:
- Microsoft.Cache/stable/2017-02-01/redis.json
```
-
### Tag: package-2016-04
These settings apply only when `--tag=package-2016-04` is specified on the command line.
@@ -77,10 +84,9 @@ input-file:
- Microsoft.Cache/stable/2015-08-01/redis.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -100,7 +106,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_redis']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -133,11 +138,13 @@ python:
package-version: 5.0.0
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/redis/azure-mgmt-redis/azure/mgmt/redis
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -163,6 +170,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-redis
```
### Java multi-api
+
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2018-03
@@ -177,12 +185,11 @@ Please also specify `--azure-libraries-for-java-folder=A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/EmergingIssues_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/EmergingIssues_List.json
new file mode 100644
index 000000000000..eb5d2a525d1a
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/EmergingIssues_List.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/emergingissues/default",
+ "type": "/providers/Microsoft.ResourceHealth/emergingissues",
+ "name": "default",
+ "properties": {
+ "refreshTimestamp": "2019-12-17T09:12:00Z",
+ "statusBanners": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - banner",
+ "message": "Testing backup site",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T08:04:00Z"
+ },
+ {
+ "title": "Storage - West Europe",
+ "message": "A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_Get.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_Get.json
new file mode 100644
index 000000000000..6c20b691a199
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_Get.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "issueName": "default",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.ResourceHealth/emergingissues/default",
+ "type": "/providers/Microsoft.ResourceHealth/emergingissues",
+ "name": "default",
+ "properties": {
+ "refreshTimestamp": "2019-12-17T09:12:00Z",
+ "statusBanners": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - banner",
+ "message": "Testing backup site",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T08:04:00Z"
+ },
+ {
+ "title": "Storage - West Europe",
+ "message": "A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_List.json
new file mode 100644
index 000000000000..2a3205cde7f6
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/EmergingIssues_List.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/emergingissues/default",
+ "type": "/providers/Microsoft.ResourceHealth/emergingissues",
+ "name": "default",
+ "properties": {
+ "refreshTimestamp": "2019-12-17T09:12:00Z",
+ "statusBanners": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - banner",
+ "message": "Testing backup site",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T08:04:00Z"
+ },
+ {
+ "title": "Storage - West Europe",
+ "message": "A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
index 36ba052e997d..48fca553443b 100644
--- a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
@@ -395,6 +395,78 @@
}
}
}
+ },
+ "/providers/Microsoft.ResourceHealth/emergingIssues/{issueName}": {
+ "get": {
+ "tags": [
+ "EmergingIssues"
+ ],
+ "operationId": "EmergingIssues_Get",
+ "description": "Gets Azure services' emerging issues.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/IssueNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains properties of azure emerging issues, which includes a list of status banner and status active events.",
+ "schema": {
+ "$ref": "#/definitions/emergingIssuesGetResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetEmergingIssues": {
+ "$ref": "./examples/EmergingIssues_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ResourceHealth/emergingIssues": {
+ "get": {
+ "tags": [
+ "EmergingIssues"
+ ],
+ "operationId": "EmergingIssues_List",
+ "description": "Lists Azure services' emerging issues.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains a list of azure emerging issues.",
+ "schema": {
+ "$ref": "#/definitions/emergingIssueListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetEmergingIssues": {
+ "$ref": "./examples/EmergingIssues_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
}
},
"definitions": {
@@ -635,6 +707,188 @@
],
"description": "Lists the operations response."
},
+ "statusBanner": {
+ "description": "Banner type of emerging issue.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The banner title."
+ },
+ "message": {
+ "type": "string",
+ "description": "The details of banner."
+ },
+ "cloud": {
+ "type": "string",
+ "description": "The cloud type of this banner."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "description": "The last time modified on this banner.",
+ "format": "date-time"
+ }
+ }
+ },
+ "impactedRegion": {
+ "description": "Object of impacted region.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The impacted region id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The impacted region name."
+ }
+ }
+ },
+ "emergingIssueImpact": {
+ "type": "object",
+ "description": "Object of the emerging issue impact on services and regions.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The impacted service id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The impacted service name."
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/impactedRegion"
+ },
+ "description": "The list of impacted regions for corresponding emerging issues."
+ }
+ }
+ },
+ "statusActiveEvent": {
+ "description": "Active event type of emerging issue.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The active event title."
+ },
+ "description": {
+ "type": "string",
+ "description": "The details of active event."
+ },
+ "trackingId": {
+ "type": "string",
+ "description": "The tracking id of this active event."
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The impact start time on this active event.",
+ "format": "date-time"
+ },
+ "cloud": {
+ "type": "string",
+ "description": "The cloud type of this active event."
+ },
+ "severity": {
+ "type": "string",
+ "description": "The severity level of this active event.",
+ "enum": [
+ "Information",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "SeverityValues",
+ "modelAsString": true
+ }
+ },
+ "stage": {
+ "type": "string",
+ "description": "The stage of this active event.",
+ "enum": [
+ "Active",
+ "Resolve",
+ "Archived"
+ ],
+ "x-ms-enum": {
+ "name": "StageValues",
+ "modelAsString": true
+ }
+ },
+ "published": {
+ "type": "boolean",
+ "description": "The boolean value of this active event if published or not."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "description": "The last time modified on this banner.",
+ "format": "date-time"
+ },
+ "impacts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/emergingIssueImpact"
+ },
+ "description": "The list of emerging issues impacts."
+ }
+ }
+ },
+ "emergingIssuesGetResult": {
+ "description": "The Get EmergingIssues operation response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/emergingIssue",
+ "description": "The emerging issue entity properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "emergingIssue": {
+ "type": "object",
+ "description": "On-going emerging issue from azure status.",
+ "properties": {
+ "refreshTimestamp": {
+ "type": "string",
+ "description": "Timestamp for when last time refreshed for ongoing emerging issue.",
+ "format": "date-time"
+ },
+ "statusBanners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/statusBanner"
+ },
+ "description": "The list of emerging issues of banner type."
+ },
+ "statusActiveEvents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/statusActiveEvent"
+ },
+ "description": "The list of emerging issues of active event type."
+ }
+ }
+ },
+ "emergingIssueListResult": {
+ "description": "The list of emerging issues.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of emerging issues.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/emergingIssuesGetResult"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of emerging issues.",
+ "type": "string"
+ }
+ }
+ },
"operation": {
"description": "Operation available in the resourcehealth resource provider.",
"properties": {
@@ -703,6 +957,17 @@
"type": "string",
"description": "Client Api Version."
},
+ "IssueNameParameter": {
+ "name": "issueName",
+ "in": "path",
+ "description": "The name of the emerging issue.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
"ResourceGroupNameParameter": {
"name": "resourceGroupName",
"in": "path",
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
index ae1f68e94f85..671bd631410f 100644
--- 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
@@ -343,6 +343,78 @@
}
}
}
+ },
+ "/providers/Microsoft.ResourceHealth/emergingIssues/{issueName}": {
+ "get": {
+ "tags": [
+ "EmergingIssues"
+ ],
+ "operationId": "EmergingIssues_Get",
+ "description": "Gets Azure services' emerging issues.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/IssueNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains properties of azure emerging issues, which includes a list of status banner and status active events.",
+ "schema": {
+ "$ref": "#/definitions/emergingIssuesGetResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetEmergingIssues": {
+ "$ref": "./examples/EmergingIssues_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ResourceHealth/emergingIssues": {
+ "get": {
+ "tags": [
+ "EmergingIssues"
+ ],
+ "operationId": "EmergingIssues_List",
+ "description": "Lists Azure services' emerging issues.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains a list of azure emerging issues.",
+ "schema": {
+ "$ref": "#/definitions/emergingIssueListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetEmergingIssues": {
+ "$ref": "./examples/EmergingIssues_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
}
},
"definitions": {
@@ -910,6 +982,188 @@
}
}
},
+ "statusBanner": {
+ "description": "Banner type of emerging issue.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The banner title."
+ },
+ "message": {
+ "type": "string",
+ "description": "The details of banner."
+ },
+ "cloud": {
+ "type": "string",
+ "description": "The cloud type of this banner."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "description": "The last time modified on this banner.",
+ "format": "date-time"
+ }
+ }
+ },
+ "impactedRegion": {
+ "description": "Object of impacted region.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The impacted region id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The impacted region name."
+ }
+ }
+ },
+ "emergingIssueImpact": {
+ "type": "object",
+ "description": "Object of the emerging issue impact on services and regions.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The impacted service id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The impacted service name."
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/impactedRegion"
+ },
+ "description": "The list of impacted regions for corresponding emerging issues."
+ }
+ }
+ },
+ "statusActiveEvent": {
+ "description": "Active event type of emerging issue.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The active event title."
+ },
+ "description": {
+ "type": "string",
+ "description": "The details of active event."
+ },
+ "trackingId": {
+ "type": "string",
+ "description": "The tracking id of this active event."
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The impact start time on this active event.",
+ "format": "date-time"
+ },
+ "cloud": {
+ "type": "string",
+ "description": "The cloud type of this active event."
+ },
+ "severity": {
+ "type": "string",
+ "description": "The severity level of this active event.",
+ "enum": [
+ "Information",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "SeverityValues",
+ "modelAsString": true
+ }
+ },
+ "stage": {
+ "type": "string",
+ "description": "The stage of this active event.",
+ "enum": [
+ "Active",
+ "Resolve",
+ "Archived"
+ ],
+ "x-ms-enum": {
+ "name": "StageValues",
+ "modelAsString": true
+ }
+ },
+ "published": {
+ "type": "boolean",
+ "description": "The boolean value of this active event if published or not."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "description": "The last time modified on this banner.",
+ "format": "date-time"
+ },
+ "impacts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/emergingIssueImpact"
+ },
+ "description": "The list of emerging issues impacts."
+ }
+ }
+ },
+ "emergingIssuesGetResult": {
+ "description": "The Get EmergingIssues operation response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/emergingIssue",
+ "description": "The emerging issue entity properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "emergingIssue": {
+ "type": "object",
+ "description": "On-going emerging issue from azure status.",
+ "properties": {
+ "refreshTimestamp": {
+ "type": "string",
+ "description": "Timestamp for when last time refreshed for ongoing emerging issue.",
+ "format": "date-time"
+ },
+ "statusBanners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/statusBanner"
+ },
+ "description": "The list of emerging issues of banner type."
+ },
+ "statusActiveEvents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/statusActiveEvent"
+ },
+ "description": "The list of emerging issues of active event type."
+ }
+ }
+ },
+ "emergingIssueListResult": {
+ "description": "The list of emerging issues.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of emerging issues.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/emergingIssuesGetResult"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of emerging issues.",
+ "type": "string"
+ }
+ }
+ },
"operationListResult": {
"properties": {
"value": {
@@ -1078,6 +1332,17 @@
"type": "string",
"description": "Client Api Version."
},
+ "IssueNameParameter": {
+ "name": "issueName",
+ "in": "path",
+ "description": "The name of the emerging issue.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
"ResourceGroupNameParameter": {
"name": "resourceGroupName",
"in": "path",
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_Get.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_Get.json
new file mode 100644
index 000000000000..5c04c3ae995f
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_Get.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "issueName": "default",
+ "api-version": "2018-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.ResourceHealth/emergingissues/default",
+ "type": "/providers/Microsoft.ResourceHealth/emergingissues",
+ "name": "default",
+ "properties": {
+ "refreshTimestamp": "2019-12-17T09:12:00Z",
+ "statusBanners": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - banner",
+ "message": "Testing backup site",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T08:04:00Z"
+ },
+ {
+ "title": "Storage - West Europe",
+ "message": "A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_List.json
new file mode 100644
index 000000000000..bb344d08648b
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/examples/EmergingIssues_List.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2018-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/emergingissues/default",
+ "type": "/providers/Microsoft.ResourceHealth/emergingissues",
+ "name": "default",
+ "properties": {
+ "refreshTimestamp": "2019-12-17T09:12:00Z",
+ "statusBanners": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - banner",
+ "message": "Testing backup site",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T08:04:00Z"
+ },
+ {
+ "title": "Storage - West Europe",
+ "message": "A subset of customers using Storage in West Europe experienced service availability issues. In addition, resources with dependencies on the impacted storage scale units may have experienced downstream impact in the form of availability issues, connection failures, or high latency. Engineers are investigating the root cause.",
+ "cloud": "Public",
+ "lastModifiedTime": "2019-12-15T10:15:00Z"
+ }
+ ],
+ "statusActiveEvents": [
+ {
+ "title": "Automatic updates to the dial tone page from ACM - SHD event",
+ "description": "Virtual Machines case",
+ "trackingId": "KTTK-TZ8",
+ "startTime": "2019-12-15T08:06:00Z",
+ "cloud": "Public",
+ "severity": "Information",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "virtual-machines",
+ "name": "Virtual Machines",
+ "regions": [
+ {
+ "id": "us-central",
+ "name": "Central US"
+ },
+ {
+ "id": "us-east",
+ "name": "East US"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-15T08:10:00Z"
+ },
+ {
+ "title": "Azure SQL Database - West Europe",
+ "description": "All Azure SQL service management requests (create, update, delete, etc.) are serviced through the SQL Control Plane infrastructure. Engineers determined that during this issue, the control plane service became unhealthy after receiving a significant increase in internally generated operations and reaching an operational threshold. This led to service management requests becoming unable to complete, which in-turn resulted in timeouts and throttling. Subsequent investigation by engineers determined this issue was due service requests from an internal Azure group that triggered a bug which caused an excessive number of internally generated operations.",
+ "trackingId": "4KHK-LS8",
+ "startTime": "2019-12-16T05:11:00Z",
+ "cloud": "Public",
+ "severity": "Error",
+ "stage": "Active",
+ "impacts": [
+ {
+ "id": "sql-database",
+ "name": "SQL Database",
+ "regions": [
+ {
+ "id": "europe-west",
+ "name": "West Europe"
+ }
+ ]
+ }
+ ],
+ "published": true,
+ "lastModifiedTime": "2019-12-16T05:11:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md
index 7ab9b0ae9535..d13233a1b7c3 100644
--- a/specification/resourcehealth/resource-manager/readme.md
+++ b/specification/resourcehealth/resource-manager/readme.md
@@ -126,7 +126,7 @@ Please also specify `--azure-libraries-for-java= pair."
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "error": {
+ "description": "Error that is relayed from the script execution.",
+ "$ref": "#/definitions/DefaultErrorResponse"
+ }
+ }
+ },
+ "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..2d4156d8e6df
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Create.json
@@ -0,0 +1,99 @@
+{
+ "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",
+ "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",
+ "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",
+ "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..9c723a5db962
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Delete.json
@@ -0,0 +1,45 @@
+{
+ "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",
+ "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..ee19875a981b
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Get.json
@@ -0,0 +1,41 @@
+{
+ "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",
+ "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..1c0eb430228c
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogs.json
@@ -0,0 +1,21 @@
+{
+ "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..a20746044a78
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_GetLogsDefault.json
@@ -0,0 +1,17 @@
+{
+ "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..983b4c2c9cc8
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListByResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "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",
+ "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..199c1ed77b31
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_ListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "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",
+ "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..b411784c4591
--- /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..c365156e2a9d
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/examples/DeploymentScripts_Update.json
@@ -0,0 +1,49 @@
+{
+ "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",
+ "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-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
index ef78bef03d25..65c0482675e1 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
@@ -461,7 +461,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/Deployment"
+ "$ref": "#/definitions/ScopedDeployment"
},
"description": "Additional parameters supplied to the operation."
},
@@ -571,7 +571,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/Deployment"
+ "$ref": "#/definitions/ScopedDeployment"
},
"description": "Parameters to validate."
},
@@ -765,7 +765,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/Deployment"
+ "$ref": "#/definitions/ScopedDeployment"
},
"description": "Additional parameters supplied to the operation."
},
@@ -884,7 +884,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/Deployment"
+ "$ref": "#/definitions/ScopedDeployment"
},
"description": "Parameters to validate."
},
@@ -2135,7 +2135,7 @@
"in": "query",
"required": false,
"type": "string",
- "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
},
{
"name": "$expand",
@@ -2633,7 +2633,7 @@
"in": "query",
"required": false,
"type": "string",
- "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
},
{
"name": "$expand",
@@ -2726,11 +2726,7 @@
"description": "The name of the resource to check whether it exists."
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -2799,11 +2795,7 @@
"description": "The name of the resource to delete."
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -2876,11 +2868,7 @@
"description": "The name of the resource to create."
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -2968,11 +2956,7 @@
"description": "The name of the resource to update."
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -3054,11 +3038,7 @@
"description": "The name of the resource to get."
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -3097,11 +3077,7 @@
"x-ms-skip-url-encoding": true
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -3135,11 +3111,7 @@
"x-ms-skip-url-encoding": true
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -3177,11 +3149,7 @@
"x-ms-skip-url-encoding": true
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -3234,11 +3202,7 @@
"x-ms-skip-url-encoding": true
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -3285,11 +3249,7 @@
"x-ms-skip-url-encoding": true
},
{
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for the operation."
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -4146,6 +4106,23 @@
],
"description": "Deployment operation parameters."
},
+ "ScopedDeployment": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentProperties",
+ "description": "The deployment properties."
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "description": "Deployment operation parameters."
+ },
"DeploymentExportResult": {
"properties": {
"template": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CalculateTemplateHash.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CalculateTemplateHash.json
new file mode 100644
index 000000000000..1dd38342b05b
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CalculateTemplateHash.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "template": {
+ "$schema": "http://schemas.management.azure.com/deploymentTemplate?api-version=2014-04-01-preview",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "string": {
+ "type": "string"
+ }
+ },
+ "variables": {
+ "string": "string",
+ "int": 42,
+ "bool": true,
+ "array": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "object": {
+ "object": {
+ "vmSize": "Large",
+ "location": "West US"
+ }
+ }
+ },
+ "resources": [],
+ "outputs": {
+ "string": {
+ "type": "string",
+ "value": "myvalue"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "minifiedTemplate": "{\"$SCHEMA\":\"HTTP://SCHEMAS.MANAGEMENT.AZURE.COM/DEPLOYMENTTEMPLATE?API-VERSION=2014-04-01-PREVIEW\",\"CONTENTVERSION\":\"1.0.0.0\",\"PARAMETERS\":{\"STRING\":{\"TYPE\":\"STRING\"}},\"VARIABLES\":{\"STRING\":\"STRING\",\"INT\":42,\"BOOL\":TRUE,\"ARRAY\":[1,2,3,4],\"OBJECT\":{\"OBJECT\":{\"VMSIZE\":\"LARGE\",\"LOCATION\":\"WEST US\"}}},\"RESOURCES\":[],\"OUTPUTS\":{\"STRING\":{\"TYPE\":\"STRING\",\"VALUE\":\"MYVALUE\"}}}",
+ "templateHash": "695440707931307747"
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CreateResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CreateResourceGroup.json
new file mode 100644
index 000000000000..e1a75e7273fa
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/CreateResourceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup",
+ "name": "myResourceGroup",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup",
+ "name": "myResourceGroup",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroup.json
new file mode 100644
index 000000000000..77a7841f1ca0
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroup.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "eaee6a92-e973-4922-9471-3a0a6abf81cd",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "resources": [
+ "*"
+ ],
+ "options": "IncludeParameterDefaultValue,IncludeComments"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "template": {
+ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "myResourceType_myFirstResource_name": {
+ "defaultValue": "myFirstResource",
+ "type": "String"
+ },
+ "myResourceType_mySecondResource_name": {
+ "defaultValue": "mySecondResource",
+ "type": "String"
+ },
+ "myResourceType_myFirstResource_secret": {
+ "defaultValue": null,
+ "type": "SecureString"
+ }
+ },
+ "variables": {},
+ "resources": [
+ {
+ "type": "My.RP/myResourceType",
+ "apiVersion": "2019-01-01",
+ "name": "[parameters('myResourceType_myFirstResource_name')]",
+ "location": "West US",
+ "properties": {
+ "secret": "[parameters('myResourceType_myFirstResource_secret')]"
+ }
+ },
+ {
+ "type": "My.RP/myResourceType",
+ "apiVersion": "2019-01-01",
+ "name": "[parameters('myResourceType_mySecondResource_name')]",
+ "location": "West US",
+ "properties": {
+ "customProperty": "hello!"
+ }
+ }
+ ]
+ },
+ "error": {
+ "code": "ExportTemplateCompletedWithErrors",
+ "message": "Export template operation completed with errors. Some resources were not exported. Please see details for more information.",
+ "details": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroupWithFiltering.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroupWithFiltering.json
new file mode 100644
index 000000000000..8a69cb2784a3
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/ExportResourceGroupWithFiltering.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "eaee6a92-e973-4922-9471-3a0a6abf81cd",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "resources": [
+ "/subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/resourceGroups/myResourceGroup/providers/My.RP/myResourceType/myFirstResource"
+ ],
+ "options": "SkipResourceNameParameterization"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "template": {
+ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "myResourceType_myFirstResource_secret": {
+ "defaultValue": null,
+ "type": "SecureString"
+ }
+ },
+ "variables": {},
+ "resources": [
+ {
+ "type": "My.RP/myResourceType",
+ "apiVersion": "2019-01-01",
+ "name": "myFirstResource",
+ "location": "West US",
+ "properties": {
+ "secret": "[parameters('myResourceType_myFirstResource_secret')]"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsResource.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsResource.json
new file mode 100644
index 000000000000..2675c51f5e18
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsResource.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "scope": "subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/resourcegroups/myResourceGroup/providers/myPRNameSpace/VM/myVm",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsSubscription.json
new file mode 100644
index 000000000000..eeaf3b497e97
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/GetTagsSubscription.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "scope": "subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd",
+ "api-version": "2019-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnResourceGroup.json
new file mode 100644
index 000000000000..435039d93112
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "myResourceGroup",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-10-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-10-01/examples/PostDeploymentWhatIfOnSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnSubscription.json
new file mode 100644
index 000000000000..8741de8fe50d
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnSubscription.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000001",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-10-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-10-01/examples/PutDeploymentAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtManagementGroup.json
new file mode 100644
index 000000000000..28bd0ff42bb6
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtManagementGroup.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "groupId": "tiano-group1",
+ "deploymentName": "mg-dep01",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "templateLink": "{templateUri}",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01",
+ "name": "mg-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01",
+ "name": "mg-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtScope.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtScope.json
new file mode 100644
index 000000000000..03c8055ac899
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtScope.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Management/managementGroups/tiano-group1",
+ "deploymentName": "mg-dep01",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "templateLink": "{templateUri}",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01",
+ "name": "mg-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Resources/deployments/mg-dep01",
+ "name": "mg-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Management/managementGroups/tiano-group1/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtTenant.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtTenant.json
new file mode 100644
index 000000000000..a10bac45d7bf
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentAtTenant.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "deploymentName": "tenant-dep01",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "location": "eastus",
+ "properties": {
+ "templateLink": "{templateUri}",
+ "parameters": {},
+ "mode": "Incremental"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Resources/deployments/tenant-dep01",
+ "name": "tenant-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.Resources/deployments/tenant-dep01",
+ "name": "tenant-dep01",
+ "type": "Microsoft.Resources/deployments",
+ "location": "eastus",
+ "properties": {
+ "parameters": {},
+ "mode": "Incremental",
+ "provisioningState": "Accepted",
+ "timestamp": "2019-04-24T22:52:38.7895563Z",
+ "duration": "PT1.2970875S",
+ "correlationId": "{correlationId}",
+ "providers": [
+ {
+ "namespace": "Microsoft.Authorization",
+ "resourceTypes": [
+ {
+ "resourceType": "policyDefinitions",
+ "locations": [
+ null
+ ]
+ },
+ {
+ "resourceType": "policyAssignments",
+ "locations": [
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "Microsoft.Resources",
+ "resourceTypes": [
+ {
+ "resourceType": "deployments",
+ "locations": [
+ "eastus"
+ ]
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "dependsOn": [
+ {
+ "id": "/providers/Microsoft.Authorization/policyDefinitions/policy2",
+ "resourceType": "Microsoft.Authorization/policyDefinitions",
+ "resourceName": "policy2"
+ }
+ ],
+ "id": "/providers/Microsoft.Authorization/policyAssignments/location-lock",
+ "resourceType": "Microsoft.Authorization/policyAssignments",
+ "resourceName": "location-lock"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json
new file mode 100644
index 000000000000..adf6fc284cce
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "properties": {
+ "templateLink": "{templateUri}",
+ "parameters": {},
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "LastSuccessful"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName",
+ "name": "exampleDeploymentName",
+ "type": "Microsoft.Resources/deployments",
+ "properties": {
+ "provisioningState": "Accepted",
+ "correlationId": "{correlationId}",
+ "timestamp": "2019-03-01T00:00:00.0000000Z",
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "LastSuccessful",
+ "deploymentName": "{nameOfLastSuccesfulDeployment}"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName",
+ "name": "exampleDeploymentName",
+ "type": "Microsoft.Resources/deployments",
+ "properties": {
+ "provisioningState": "Accepted",
+ "correlationId": "{correlationId}",
+ "timestamp": "2019-03-01T00:00:00.0000000Z",
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "LastSuccessful",
+ "deploymentName": "{nameOfLastSuccesfulDeployment}"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json
new file mode 100644
index 000000000000..0815fd9e7998
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "deploymentName": "exampleDeploymentName",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "properties": {
+ "templateLink": "{templateUri}",
+ "parameters": {},
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "SpecificDeployment",
+ "deploymentName": "{nameOfDeploymentToUse}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName",
+ "name": "exampleDeploymentName",
+ "type": "Microsoft.Resources/deployments",
+ "properties": {
+ "provisioningState": "Accepted",
+ "correlationId": "{correlationId}",
+ "timestamp": "2019-03-01T00:00:00.0000000Z",
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "SpecificDeployment",
+ "deploymentName": "{nameOfDeploymentToUse}"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourcegroups/myResourceGroup/providers/Microsoft.Resources/deployments/exampleDeploymentName",
+ "name": "exampleDeploymentName",
+ "type": "Microsoft.Resources/deployments",
+ "properties": {
+ "provisioningState": "Accepted",
+ "correlationId": "{correlationId}",
+ "timestamp": "2019-03-01T00:00:00.0000000Z",
+ "mode": "Complete",
+ "onErrorDeployment": {
+ "type": "SpecificDeployment",
+ "deploymentName": "{nameOfDeploymentToUse}"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsResource.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsResource.json
new file mode 100644
index 000000000000..c7bffdebf350
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsResource.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "scope": "subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd/resourcegroups/myResourceGroup/providers/myPRNameSpace/VM/myVm",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsSubscription.json
new file mode 100644
index 000000000000..524c53fd3100
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PutTagsSubscription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "scope": "subscriptions/eaee6a92-e973-4922-9471-3a0a6abf81cd",
+ "api-version": "2019-10-01",
+ "parameters": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
new file mode 100644
index 000000000000..5fefb1a9b3e5
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json
@@ -0,0 +1,5555 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ResourceManagementClient",
+ "version": "2019-10-01",
+ "description": "Provides operations for working with resources and resource groups."
+ },
+ "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.Resources/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Microsoft.Resources 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/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}": {
+ "delete": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_DeleteAtScope",
+ "summary": "Deletes a deployment from the deployment history.",
+ "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "head": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CheckExistenceAtScope",
+ "description": "Checks whether the deployment exists.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdateAtScope",
+ "summary": "Deploys resources at a given scope.",
+ "description": "You can provide the template and parameters directly in the request or link to JSON files.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Additional parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create deployment at a given scope.": {
+ "$ref": "./examples/PutDeploymentAtScope.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_GetAtScope",
+ "description": "Gets a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CancelAtScope",
+ "summary": "Cancels a currently running template deployment.",
+ "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ValidateAtScope",
+ "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the validation result.",
+ "schema": {
+ "$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"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ExportTemplateAtScope",
+ "description": "Exports the template used for specified deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the template.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ListAtScope",
+ "description": "Get all the deployments at the given scope.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to get. If null is passed, returns all deployments."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DeploymentExtendedFilter"
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}": {
+ "delete": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_DeleteAtTenantScope",
+ "summary": "Deletes a deployment from the deployment history.",
+ "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "head": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CheckExistenceAtTenantScope",
+ "description": "Checks whether the deployment exists.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdateAtTenantScope",
+ "summary": "Deploys resources at tenant scope.",
+ "description": "You can provide the template and parameters directly in the request or link to JSON files.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopedDeployment"
+ },
+ "description": "Additional parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create deployment at tenant scope.": {
+ "$ref": "./examples/PutDeploymentAtTenant.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_GetAtTenantScope",
+ "description": "Gets a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CancelAtTenantScope",
+ "summary": "Cancels a currently running template deployment.",
+ "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ValidateAtTenantScope",
+ "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopedDeployment"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the validation result.",
+ "schema": {
+ "$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"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ExportTemplateAtTenantScope",
+ "description": "Exports the template used for specified deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the template.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ListAtTenantScope",
+ "description": "Get all the deployments at the tenant scope.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to get. If null is passed, returns all deployments."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DeploymentExtendedFilter"
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}": {
+ "delete": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_DeleteAtManagementGroupScope",
+ "summary": "Deletes a deployment from the deployment history.",
+ "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "head": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CheckExistenceAtManagementGroupScope",
+ "description": "Checks whether the deployment exists.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdateAtManagementGroupScope",
+ "summary": "Deploys resources at management group scope.",
+ "description": "You can provide the template and parameters directly in the request or link to JSON files.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopedDeployment"
+ },
+ "description": "Additional parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create deployment at management group scope.": {
+ "$ref": "./examples/PutDeploymentAtManagementGroup.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_GetAtManagementGroupScope",
+ "description": "Gets a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CancelAtManagementGroupScope",
+ "summary": "Cancels a currently running template deployment.",
+ "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ValidateAtManagementGroupScope",
+ "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopedDeployment"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the validation result.",
+ "schema": {
+ "$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"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ExportTemplateAtManagementGroupScope",
+ "description": "Exports the template used for specified deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the template.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ListAtManagementGroupScope",
+ "description": "Get all the deployments for a management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to get. If null is passed, returns all deployments."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DeploymentExtendedFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}": {
+ "delete": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_DeleteAtSubscriptionScope",
+ "summary": "Deletes a deployment from the deployment history.",
+ "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "head": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CheckExistenceAtSubscriptionScope",
+ "description": "Checks whether the deployment exists.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdateAtSubscriptionScope",
+ "summary": "Deploys resources at subscription scope.",
+ "description": "You can provide the template and parameters directly in the request or link to JSON files.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Additional parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_GetAtSubscriptionScope",
+ "description": "Gets a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CancelAtSubscriptionScope",
+ "summary": "Cancels a currently running template deployment.",
+ "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ValidateAtSubscriptionScope",
+ "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the validation result.",
+ "schema": {
+ "$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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ExportTemplateAtSubscriptionScope",
+ "description": "Exports the template used for specified deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the template.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ListAtSubscriptionScope",
+ "description": "Get all the deployments for a subscription.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to get. If null is passed, returns all deployments."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DeploymentExtendedFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
+ "delete": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Delete",
+ "summary": "Deletes a deployment from the deployment history.",
+ "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. Deleting a template deployment does not affect the state of the resource group. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group with the deployment to delete. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "head": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CheckExistence",
+ "description": "Checks whether the deployment exists.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group with the deployment to check. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdate",
+ "summary": "Deploys resources to a resource group.",
+ "description": "You can provide the template and parameters directly in the request or link to JSON files.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Additional parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a deployment that will redeploy the last successful deployment on failure": {
+ "$ref": "./examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json"
+ },
+ "Create a deployment that will redeploy another deployment on failure": {
+ "$ref": "./examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Get",
+ "description": "Gets a deployment.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExtended"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Cancel",
+ "summary": "Cancels a currently running template deployment.",
+ "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Validate",
+ "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..",
+ "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/Deployment"
+ },
+ "description": "Parameters to validate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the validation result.",
+ "schema": {
+ "$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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ExportTemplate",
+ "description": "Exports the template used for specified deployment.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the template.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_ListByResourceGroup",
+ "description": "Get all the deployments for a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group with the deployments to get. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to get. If null is passed, returns all deployments."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DeploymentExtendedFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": {
+ "post": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_Unregister",
+ "description": "Unregisters a subscription from a resource provider.",
+ "parameters": [
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider to unregister."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource provider.",
+ "schema": {
+ "$ref": "#/definitions/Provider"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": {
+ "post": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_Register",
+ "description": "Registers a subscription with a resource provider.",
+ "parameters": [
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider to register."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource provider.",
+ "schema": {
+ "$ref": "#/definitions/Provider"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers": {
+ "get": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_List",
+ "description": "Gets all resource providers for a subscription.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return. If null is passed returns all deployments."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of resource providers.",
+ "schema": {
+ "$ref": "#/definitions/ProviderListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers": {
+ "get": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_ListAtTenantScope",
+ "description": "Gets all resource providers for the tenant.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return. If null is passed returns all providers."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of resource providers.",
+ "schema": {
+ "$ref": "#/definitions/ProviderListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": {
+ "get": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_Get",
+ "description": "Gets the specified resource provider.",
+ "parameters": [
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases."
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource provider.",
+ "schema": {
+ "$ref": "#/definitions/Provider"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/{resourceProviderNamespace}": {
+ "get": {
+ "tags": [
+ "Providers"
+ ],
+ "operationId": "Providers_GetAtTenantScope",
+ "description": "Gets the specified resource provider at the tenant level.",
+ "parameters": [
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases."
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource provider.",
+ "schema": {
+ "$ref": "#/definitions/Provider"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": {
+ "get": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "Resources_ListByResourceGroup",
+ "description": "Get all the resources for a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group with the resources to get.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return. If null is passed, returns all resources."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of resources",
+ "schema": {
+ "$ref": "#/definitions/ResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/GenericResourceFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": {
+ "head": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_CheckExistence",
+ "description": "Checks whether a resource group exists.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to check. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "x-ms-examples": {
+ "Create or update a resource group": {
+ "$ref": "./examples/CreateResourceGroup.json"
+ }
+ },
+ "operationId": "ResourceGroups_CreateOrUpdate",
+ "description": "Creates or updates a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to create or update. Can include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGroup"
+ },
+ "description": "Parameters supplied to the create or update a resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the new resource group.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroup"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the new resource group.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_Delete",
+ "summary": "Deletes a resource group.",
+ "description": "When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to delete. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_Get",
+ "description": "Gets a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to get. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_Update",
+ "summary": "Updates a resource group.",
+ "description": "Resource groups can be updated through a simple PATCH operation to a group address. The format of the request is the same as that for creating a resource group. If a field is unspecified, the current value is retained.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group to update. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupPatchable"
+ },
+ "description": "Parameters supplied to update a resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate": {
+ "post": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_ExportTemplate",
+ "description": "Captures the specified resource group as a template.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportTemplateRequest"
+ },
+ "description": "Parameters for exporting the template."
+ }
+ ],
+ "x-ms-examples": {
+ "Export a resource group": {
+ "$ref": "./examples/ExportResourceGroup.json"
+ },
+ "Export a resource group with filtering": {
+ "$ref": "./examples/ExportResourceGroupWithFiltering.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns the result of the export.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupExportResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups": {
+ "get": {
+ "tags": [
+ "ResourceGroups"
+ ],
+ "operationId": "ResourceGroups_List",
+ "description": "Gets all the resource groups for a subscription.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return. If null is passed, returns all resource groups."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of resource groups.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ResourceGroupFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": {
+ "post": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_MoveResources",
+ "summary": "Moves resources from one resource group to another resource group.",
+ "description": "The resources to move must be in the same source resource group. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes. ",
+ "parameters": [
+ {
+ "name": "sourceResourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing the resources to move.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourcesMoveInfo"
+ },
+ "description": "Parameters for moving resources."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources": {
+ "post": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_ValidateMoveResources",
+ "summary": "Validates whether resources can be moved from one resource group to another resource group.",
+ "description": "This operation checks whether the specified resources can be moved to the target. The resources to move must be in the same source resource group. The target resource group may be in a different subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to check the result of the long-running operation.",
+ "parameters": [
+ {
+ "name": "sourceResourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing the resources to validate for move.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourcesMoveInfo"
+ },
+ "description": "Parameters for moving resources."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resources": {
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_List",
+ "description": "Get all the resources in a subscription.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return. If null is passed, returns all resource groups."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of resources.",
+ "schema": {
+ "$ref": "#/definitions/ResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/GenericResourceFilter"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": {
+ "head": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_CheckExistence",
+ "description": "Checks whether a resource exists.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing the resource to check. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource provider of the resource to check."
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to check whether it exists."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_Delete",
+ "description": "Deletes a resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group that contains the resource to delete. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_CreateOrUpdate",
+ "description": "Creates a resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group for the resource. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource to create.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to create."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ },
+ "description": "Parameters for creating or updating the resource."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_Update",
+ "description": "Updates a resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group for the resource. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource to update.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to update."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ },
+ "description": "Parameters for updating the resource."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_Get",
+ "description": "Gets a resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing the resource to get. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{resourceId}": {
+ "head": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_CheckExistenceById",
+ "description": "Checks by ID whether a resource exists.",
+ "parameters": [
+ {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "404": {
+ "description": "Not Found"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_DeleteById",
+ "description": "Deletes a resource by ID.",
+ "parameters": [
+ {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_CreateOrUpdateById",
+ "description": "Create a resource by ID.",
+ "parameters": [
+ {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ },
+ "description": "Create or update resource parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_UpdateById",
+ "description": "Updates a resource by ID.",
+ "parameters": [
+ {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ },
+ "description": "Update resource parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "Resources_GetById",
+ "description": "Gets a resource by ID.",
+ "parameters": [
+ {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/GenericResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": {
+ "delete": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_DeleteValue",
+ "description": "Deletes a tag value.",
+ "parameters": [
+ {
+ "name": "tagName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tag."
+ },
+ {
+ "name": "tagValue",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The value of the tag to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_CreateOrUpdateValue",
+ "description": "Creates a tag value. The name of the tag must already exist.",
+ "parameters": [
+ {
+ "name": "tagName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tag."
+ },
+ {
+ "name": "tagValue",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The value of the tag to create."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the tag value.",
+ "schema": {
+ "$ref": "#/definitions/TagValue"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the tag value.",
+ "schema": {
+ "$ref": "#/definitions/TagValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/tagNames/{tagName}": {
+ "put": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_CreateOrUpdate",
+ "summary": "Creates a tag in the subscription.",
+ "description": "The tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes.",
+ "parameters": [
+ {
+ "name": "tagName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tag to create."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the tag.",
+ "schema": {
+ "$ref": "#/definitions/TagDetails"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the tag.",
+ "schema": {
+ "$ref": "#/definitions/TagDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_Delete",
+ "summary": "Deletes a tag from the subscription.",
+ "description": "You must remove all values from a resource tag before you can delete it.",
+ "parameters": [
+ {
+ "name": "tagName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tag."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/tagNames": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_List",
+ "description": "Gets the names and values of all resource tags that are defined in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of tag names and values.",
+ "schema": {
+ "$ref": "#/definitions/TagsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_GetAtScope",
+ "description": "Gets a deployments operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the operation to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment operation.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_ListAtScope",
+ "description": "Gets all deployments operations for a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Return an array of deployment operations.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_GetAtTenantScope",
+ "description": "Gets a deployments operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the operation to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment operation.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/deployments/{deploymentName}/operations": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_ListAtTenantScope",
+ "description": "Gets all deployments operations for a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Return an array of deployment operations.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_GetAtManagementGroupScope",
+ "description": "Gets a deployments operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the operation to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment operation.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_ListAtManagementGroupScope",
+ "description": "Gets all deployments operations for a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Return an array of deployment operations.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_GetAtSubscriptionScope",
+ "description": "Gets a deployments operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the operation to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment operation.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_ListAtSubscriptionScope",
+ "description": "Gets all deployments operations for a deployment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Return an array of deployment operations.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_Get",
+ "description": "Gets a deployments operation.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the operation to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the deployment operation.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations": {
+ "get": {
+ "tags": [
+ "DeploymentOperations"
+ ],
+ "operationId": "DeploymentOperations_List",
+ "description": "Gets all deployments operations for a deployment.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Return an array of deployment operations.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentOperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Resources/calculateTemplateHash": {
+ "post": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CalculateTemplateHash",
+ "description": "Calculate the hash of the given template.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "template",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object"
+ },
+ "description": "The template provided to calculate hash."
+ }
+ ],
+ "x-ms-examples": {
+ "Calculate template hash": {
+ "$ref": "./examples/CalculateTemplateHash.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK - Returns the hash.",
+ "schema": {
+ "$ref": "#/definitions/TemplateHashResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Resources/tags/default": {
+ "put": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_ResourceCreate",
+ "description": "Create or Replace existing tags with passing in tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ },
+ "description": "Parameters for creating multiple tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns added tag information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates multiple tags for a tracked resource.": {
+ "$ref": "./examples/PutTagsResource.json"
+ },
+ "Create multiple tags for a subscription.": {
+ "$ref": "./examples/PutTagsSubscription.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_ResourceUpdate",
+ "description": "Update multiple tags: if the tagKey exists, update tagValue with the new value; if not, insert the new record.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagPatchRequest"
+ },
+ "description": "Parameters for updating multiple tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns updated tag information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_ResourceGet",
+ "description": "Gets all the tags for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns tag information about the resource.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets all the tags for a tracked resource.": {
+ "$ref": "./examples/GetTagsResource.json"
+ },
+ "Gets all the tags for a subscription.": {
+ "$ref": "./examples/GetTagsSubscription.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_ResourceDelete",
+ "description": "Deletes all the tags for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DeploymentExtendedFilter": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state."
+ }
+ },
+ "description": "Deployment filter."
+ },
+ "GenericResourceFilter": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "tagname": {
+ "type": "string",
+ "description": "The tag name."
+ },
+ "tagvalue": {
+ "type": "string",
+ "description": "The tag value."
+ }
+ },
+ "description": "Resource filter."
+ },
+ "ResourceGroupFilter": {
+ "properties": {
+ "tagName": {
+ "type": "string",
+ "description": "The tag name."
+ },
+ "tagValue": {
+ "type": "string",
+ "description": "The tag value."
+ }
+ },
+ "description": "Resource group filter."
+ },
+ "TemplateLink": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The URI of the template to deploy."
+ },
+ "contentVersion": {
+ "type": "string",
+ "description": "If included, must match the ContentVersion in the template."
+ }
+ },
+ "required": [
+ "uri"
+ ],
+ "description": "Entity representing the reference to the template."
+ },
+ "ParametersLink": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The URI of the parameters file."
+ },
+ "contentVersion": {
+ "type": "string",
+ "description": "If included, must match the ContentVersion in the template."
+ }
+ },
+ "required": [
+ "uri"
+ ],
+ "description": "Entity representing the reference to the deployment parameters."
+ },
+ "DeploymentProperties": {
+ "properties": {
+ "template": {
+ "type": "object",
+ "description": "The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both."
+ },
+ "templateLink": {
+ "$ref": "#/definitions/TemplateLink",
+ "description": "The URI of the template. Use either the templateLink property or the template property, but not both."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string."
+ },
+ "parametersLink": {
+ "$ref": "#/definitions/ParametersLink",
+ "description": "The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both."
+ },
+ "mode": {
+ "type": "string",
+ "description": "The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources.",
+ "enum": [
+ "Incremental",
+ "Complete"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": false
+ }
+ },
+ "debugSetting": {
+ "$ref": "#/definitions/DebugSetting",
+ "description": "The debug setting of the deployment."
+ },
+ "onErrorDeployment": {
+ "$ref": "#/definitions/OnErrorDeployment",
+ "description": "The deployment on error behavior."
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "description": "Deployment properties."
+ },
+ "DebugSetting": {
+ "properties": {
+ "detailLevel": {
+ "type": "string",
+ "description": "Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations."
+ }
+ },
+ "description": "The debug setting."
+ },
+ "Deployment": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentProperties",
+ "description": "The deployment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Deployment operation parameters."
+ },
+ "ScopedDeployment": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentProperties",
+ "description": "The deployment properties."
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "description": "Deployment operation parameters."
+ },
+ "DeploymentExportResult": {
+ "properties": {
+ "template": {
+ "type": "object",
+ "description": "The template content."
+ }
+ },
+ "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": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response for a resource management request."
+ },
+ "AliasPathType": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path of an alias."
+ },
+ "apiVersions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The API versions."
+ }
+ },
+ "description": "The type of the paths for alias. "
+ },
+ "AliasType": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The alias name."
+ },
+ "paths": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AliasPathType"
+ },
+ "description": "The paths for an alias."
+ }
+ },
+ "description": "The alias type. "
+ },
+ "ProviderResourceType": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The collection of locations where this resource type can be created."
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AliasType"
+ },
+ "description": "The aliases that are supported by this resource type."
+ },
+ "apiVersions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The API version."
+ },
+ "capabilities": {
+ "type": "string",
+ "description": "The additional capabilities offered by this resource type."
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The additional properties. "
+ },
+ "description": "The properties."
+ }
+ },
+ "description": "Resource type managed by the resource provider."
+ },
+ "Provider": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provider ID."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the resource provider."
+ },
+ "registrationState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The registration state of the resource provider."
+ },
+ "registrationPolicy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The registration policy of the resource provider."
+ },
+ "resourceTypes": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderResourceType"
+ },
+ "description": "The collection of provider resource types."
+ }
+ },
+ "description": "Resource provider information."
+ },
+ "BasicDependency": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the dependency."
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "The dependency resource type."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The dependency resource name."
+ }
+ },
+ "description": "Deployment dependency information."
+ },
+ "Dependency": {
+ "properties": {
+ "dependsOn": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BasicDependency"
+ },
+ "description": "The list of dependencies."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the dependency."
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "The dependency resource type."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The dependency resource name."
+ }
+ },
+ "description": "Deployment dependency information."
+ },
+ "DeploymentPropertiesExtended": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the provisioning."
+ },
+ "correlationId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The correlation ID of the deployment."
+ },
+ "timestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of the template deployment."
+ },
+ "duration": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The duration of the template deployment."
+ },
+ "outputs": {
+ "type": "object",
+ "description": "Key/value pairs that represent deployment output."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Provider"
+ },
+ "description": "The list of resource providers needed for the deployment."
+ },
+ "dependencies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dependency"
+ },
+ "description": "The list of deployment dependencies."
+ },
+ "template": {
+ "type": "object",
+ "description": "The template content. Use only one of Template or TemplateLink."
+ },
+ "templateLink": {
+ "$ref": "#/definitions/TemplateLink",
+ "description": "The URI referencing the template. Use only one of Template or TemplateLink."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "Deployment parameters. Use only one of Parameters or ParametersLink."
+ },
+ "parametersLink": {
+ "$ref": "#/definitions/ParametersLink",
+ "description": "The URI referencing the parameters. Use only one of Parameters or ParametersLink."
+ },
+ "mode": {
+ "type": "string",
+ "description": "The deployment mode. Possible values are Incremental and Complete.",
+ "enum": [
+ "Incremental",
+ "Complete"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": false
+ }
+ },
+ "debugSetting": {
+ "$ref": "#/definitions/DebugSetting",
+ "description": "The debug setting of the deployment."
+ },
+ "onErrorDeployment": {
+ "$ref": "#/definitions/OnErrorDeploymentExtended",
+ "description": "The deployment on error behavior."
+ }
+ },
+ "description": "Deployment properties with additional details."
+ },
+ "OnErrorDeployment": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.",
+ "enum": [
+ "LastSuccessful",
+ "SpecificDeployment"
+ ],
+ "x-ms-enum": {
+ "name": "OnErrorDeploymentType",
+ "modelAsString": false
+ }
+ },
+ "deploymentName": {
+ "type": "string",
+ "description": "The deployment to be used on error case."
+ }
+ },
+ "description": "Deployment on error behavior."
+ },
+ "OnErrorDeploymentExtended": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the provisioning for the on error deployment."
+ },
+ "type": {
+ "type": "string",
+ "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.",
+ "enum": [
+ "LastSuccessful",
+ "SpecificDeployment"
+ ],
+ "x-ms-enum": {
+ "name": "OnErrorDeploymentType",
+ "modelAsString": false
+ }
+ },
+ "deploymentName": {
+ "type": "string",
+ "description": "The deployment to be used on error case."
+ }
+ },
+ "description": "Deployment on error behavior with additional details."
+ },
+ "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."
+ }
+ },
+ "description": "Information from validate template deployment response."
+ },
+ "DeploymentExtended": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the deployment."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the deployment."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the deployment."
+ },
+ "location": {
+ "type": "string",
+ "description": "the location of the deployment."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentPropertiesExtended",
+ "description": "Deployment properties."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "Deployment information."
+ },
+ "DeploymentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentExtended"
+ },
+ "description": "An array of deployments."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of deployments."
+ },
+ "ProviderListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Provider"
+ },
+ "description": "An array of resource providers."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of resource providers."
+ },
+ "GenericResource": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "The plan of the resource."
+ },
+ "properties": {
+ "type": "object",
+ "description": "The resource properties."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The kind of the resource.",
+ "pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "managedBy": {
+ "type": "string",
+ "description": "ID of the resource that manages this resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Resource information."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The offer ID."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ },
+ "version": {
+ "type": "string",
+ "description": "The plan's version."
+ }
+ },
+ "description": "Plan for the resource."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The SKU name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The SKU tier."
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size."
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family."
+ },
+ "model": {
+ "type": "string",
+ "description": "The SKU model."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The SKU capacity."
+ }
+ },
+ "description": "SKU for the resource."
+ },
+ "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",
+ "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 the 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."
+ },
+ "ResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GenericResource"
+ },
+ "description": "An array of resources."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of resource groups."
+ },
+ "ResourceGroup": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource group."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource group."
+ },
+ "properties": {
+ "$ref": "#/definitions/ResourceGroupProperties",
+ "description": "The resource group properties."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations."
+ },
+ "managedBy": {
+ "type": "string",
+ "description": "The ID of the resource that manages this resource group."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The additional properties. "
+ },
+ "description": "The tags attached to the resource group."
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "Resource group information."
+ },
+ "ResourceGroupPatchable": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ "properties": {
+ "$ref": "#/definitions/ResourceGroupProperties",
+ "description": "The resource group properties."
+ },
+ "managedBy": {
+ "type": "string",
+ "description": "The ID of the resource that manages this resource group."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The additional properties. "
+ },
+ "description": "The tags attached to the resource group."
+ }
+ },
+ "description": "Resource group information."
+ },
+ "ResourceGroupProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state. "
+ }
+ },
+ "description": "The resource group properties."
+ },
+ "ResourceGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGroup"
+ },
+ "description": "An array of resource groups."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of resource groups."
+ },
+ "ResourcesMoveInfo": {
+ "properties": {
+ "resources": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IDs of the resources."
+ },
+ "targetResourceGroup": {
+ "type": "string",
+ "description": "The target resource group."
+ }
+ },
+ "description": "Parameters of move resources."
+ },
+ "ExportTemplateRequest": {
+ "properties": {
+ "resources": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'."
+ },
+ "options": {
+ "type": "string",
+ "description": "The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'"
+ }
+ },
+ "description": "Export resource group template request parameters."
+ },
+ "TagCount": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of count."
+ },
+ "value": {
+ "type": "integer",
+ "description": "Value of count."
+ }
+ },
+ "description": "Tag count."
+ },
+ "TagValue": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tag ID."
+ },
+ "tagValue": {
+ "type": "string",
+ "description": "The tag value."
+ },
+ "count": {
+ "$ref": "#/definitions/TagCount",
+ "description": "The tag value count."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "Tag information."
+ },
+ "TagDetails": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tag ID."
+ },
+ "tagName": {
+ "type": "string",
+ "description": "The tag name."
+ },
+ "count": {
+ "$ref": "#/definitions/TagCount",
+ "description": "The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagValue"
+ },
+ "description": "The list of tag values."
+ }
+ },
+ "description": "Tag details."
+ },
+ "TagsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagDetails"
+ },
+ "description": "An array of tags."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of subscription tags."
+ },
+ "TargetResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the resource."
+ },
+ "resourceName": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "The type of the resource."
+ }
+ },
+ "description": "Target resource."
+ },
+ "HttpMessage": {
+ "properties": {
+ "content": {
+ "type": "object",
+ "description": "HTTP message content."
+ }
+ },
+ "description": "HTTP message."
+ },
+ "DeploymentOperationProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the provisioning."
+ },
+ "timestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time of the operation."
+ },
+ "duration": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The duration of the operation."
+ },
+ "serviceRequestId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Deployment operation service request id."
+ },
+ "statusCode": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation status code."
+ },
+ "statusMessage": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Operation status message."
+ },
+ "targetResource": {
+ "readOnly": true,
+ "$ref": "#/definitions/TargetResource",
+ "description": "The target resource."
+ },
+ "request": {
+ "readOnly": true,
+ "$ref": "#/definitions/HttpMessage",
+ "description": "The HTTP request message."
+ },
+ "response": {
+ "readOnly": true,
+ "$ref": "#/definitions/HttpMessage",
+ "description": "The HTTP response message."
+ }
+ },
+ "description": "Deployment operation properties."
+ },
+ "DeploymentOperation": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full deployment operation ID."
+ },
+ "operationId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Deployment operation ID."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentOperationProperties",
+ "description": "Deployment properties."
+ }
+ },
+ "description": "Deployment operation information."
+ },
+ "DeploymentOperationsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeploymentOperation"
+ },
+ "description": "An array of deployment operations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of deployment operations."
+ },
+ "ResourceProviderOperationDisplayProperties": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "Operation description."
+ },
+ "provider": {
+ "type": "string",
+ "description": "Operation provider."
+ },
+ "resource": {
+ "type": "string",
+ "description": "Operation resource."
+ },
+ "operation": {
+ "type": "string",
+ "description": "Resource provider operation."
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation description."
+ }
+ },
+ "description": "Resource provider operation's display properties."
+ },
+ "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"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "Specified resource."
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "Sub-resource."
+ },
+ "ResourceGroupExportResult": {
+ "properties": {
+ "template": {
+ "type": "object",
+ "description": "The template content."
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "The template export error."
+ }
+ },
+ "description": "Resource group export result."
+ },
+ "Operation": {
+ "description": "Microsoft.Resources 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.Resources",
+ "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 the operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Microsoft.Resources 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 Microsoft.Resources operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "TemplateHashResult": {
+ "description": "Result of the request to calculate template hash. It contains a string of minified template and its hash.",
+ "properties": {
+ "minifiedTemplate": {
+ "type": "string",
+ "description": "The minified template string."
+ },
+ "templateHash": {
+ "type": "string",
+ "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."
+ }
+ }
+ },
+ "Tags": {
+ "description": "key and value pairs for tags",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The tag value."
+ }
+ }
+ }
+ },
+ "TagPatchRequest": {
+ "type": "object",
+ "description": "Tag Request for Patch operation.",
+ "properties": {
+ "operation": {
+ "type": "string",
+ "description": "The operation type for the patch api.",
+ "enum": [
+ "Replace",
+ "Merge",
+ "Delete"
+ ]
+ },
+ "properties": {
+ "$ref": "#/definitions/Tags",
+ "description": "tags object passing in the request."
+ }
+ }
+ },
+ "TagsResource": {
+ "type": "object",
+ "description": "Tags for the resource.",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Tags",
+ "description": "tags property."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource scope.",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The management group ID.",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "DeploymentNameParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the deployment."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json
new file mode 100644
index 000000000000..2d23bcd8363e
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/centralus",
+ "name": "centralus",
+ "displayName": "Central US",
+ "regionalDisplayName": "(US) Central US",
+ "metadata": {
+ "regionType": "Physical",
+ "regionCategory": "Recommended",
+ "geographyGroup": "US",
+ "longitude": "-93.6208",
+ "latitude": "41.5908",
+ "physicalLocation": "Iowa",
+ "pairedRegion": [
+ {
+ "name": "eastus2",
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/eastus2"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/eastasia",
+ "name": "eastasia",
+ "displayName": "East Asia",
+ "regionalDisplayName": "(Asia Pacific) East Asia",
+ "metadata": {
+ "regionType": "Physical",
+ "regionCategory": "Recommended",
+ "geographyGroup": "Asia Pacific",
+ "longitude": "114.188",
+ "latitude": "22.267",
+ "physicalLocation": "Hong Kong",
+ "pairedRegion": [
+ {
+ "name": "southeastasia",
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/southeastasia"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json
new file mode 100644
index 000000000000..087ec2b7b555
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "tenantId": "31c75423-32d6-4322-88b7-c478bdde4858",
+ "displayName": "Example Subscription",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "Bypassed",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json
new file mode 100644
index 000000000000..98c7aad42602
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "tenantId": "31c75423-32d6-4322-88b7-c478bdde4858",
+ "displayName": "Example Subscription",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "RoleBased",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ }
+ ]
+ },
+ {
+ "id": "/subscriptions/72ac930a-f34e-42d8-b06d-dc2a9e12ed71",
+ "subscriptionId": "72ac930a-f34e-42d8-b06d-dc2a9e12ed71",
+ "tenantId": "2a0ff0de-96b2-4859-bb7c-a430d07a3e0c",
+ "displayName": "Example Subscription2",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "RoleBased",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ },
+ {
+ "tenantId": "f7fb6af2-321d-47c8-9c0f-b0239eaad39a"
+ }
+ ]
+ }
+ ],
+ "nextLink": "..."
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json
new file mode 100644
index 000000000000..e30a1b77d6fa
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json
@@ -0,0 +1,521 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SubscriptionClient",
+ "version": "2019-11-01",
+ "description": "All resource groups and resources exist within subscriptions. These operation enable you get information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your organization."
+ },
+ "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.Resources/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Microsoft.Resources REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/locations": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_ListLocations",
+ "summary": "Gets all available geo-locations.",
+ "description": "This operation provides all the locations that are available for resource providers; however, each resource provider may support a subset of this list.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of locations.",
+ "schema": {
+ "$ref": "#/definitions/LocationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get locations with a subscription id": {
+ "$ref": "./examples/GetLocations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_Get",
+ "description": "Gets details about a specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the subscription.",
+ "schema": {
+ "$ref": "#/definitions/Subscription"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a single subscription.": {
+ "$ref": "./examples/GetSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_List",
+ "description": "Gets all subscriptions for a tenant.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of subscriptions.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get all subscriptions.": {
+ "$ref": "./examples/GetSubscriptions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/tenants": {
+ "get": {
+ "tags": [
+ "Tenants"
+ ],
+ "operationId": "Tenants_List",
+ "description": "Gets the tenants for your account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of tenants.",
+ "schema": {
+ "$ref": "#/definitions/TenantListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PairedRegion": {
+ "description": "Information regarding paired region.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the paired region."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ }
+ }
+ },
+ "LocationMetadata": {
+ "description": "Location metadata information",
+ "properties": {
+ "regionType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the region.",
+ "enum": [
+ "Physical",
+ "Logical"
+ ],
+ "x-ms-enum": {
+ "name": "RegionType",
+ "modelAsString": true
+ }
+ },
+ "regionCategory": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The category of the region.",
+ "enum": [
+ "Recommended",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "RegionCategory",
+ "modelAsString": true
+ }
+ },
+ "geographyGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The geography group of the location."
+ },
+ "longitude": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The longitude of the location."
+ },
+ "latitude": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The latitude of the location."
+ },
+ "physicalLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The physical location of the Azure location."
+ },
+ "pairedRegion": {
+ "type": "array",
+ "description": "The regions paired to this region.",
+ "items": {
+ "$ref": "#/definitions/PairedRegion"
+ }
+ }
+ }
+ },
+ "Location": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location name."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The display name of the location."
+ },
+ "regionalDisplayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The display name of the location and its region."
+ },
+ "metadata": {
+ "description": "Metadata of the location, such as lat/long, paired region, and others.",
+ "$ref": "#/definitions/LocationMetadata"
+ }
+ },
+ "description": "Location information."
+ },
+ "LocationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Location"
+ },
+ "description": "An array of locations."
+ }
+ },
+ "description": "Location list operation response."
+ },
+ "Subscription": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID for the subscription. For example, /subscriptions/00000000-0000-0000-0000-000000000000."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription display name."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription tenant ID."
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.",
+ "enum": [
+ "Enabled",
+ "Warned",
+ "PastDue",
+ "Disabled",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "subscriptionPolicies": {
+ "$ref": "#/definitions/SubscriptionPolicies",
+ "description": "The subscription policies."
+ },
+ "authorizationSource": {
+ "type": "string",
+ "description": "The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'."
+ },
+ "managedByTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedByTenant"
+ },
+ "description": "An array containing the tenants managing the subscription."
+ }
+ },
+ "description": "Subscription information."
+ },
+ "SubscriptionPolicies": {
+ "properties": {
+ "locationPlacementId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription location placement ID. The ID indicates which regions are visible for a subscription. For example, a subscription with a location placement Id of Public_2014-09-01 has access to Azure public regions."
+ },
+ "quotaId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription quota ID."
+ },
+ "spendingLimit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription spending limit.",
+ "enum": [
+ "On",
+ "Off",
+ "CurrentPeriodOff"
+ ],
+ "x-ms-enum": {
+ "name": "spendingLimit",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Subscription policies."
+ },
+ "ManagedByTenant": {
+ "properties": {
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of the managing tenant. This is a GUID."
+ }
+ },
+ "description": "Information about a tenant managing the subscription."
+ },
+ "SubscriptionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subscription"
+ },
+ "description": "An array of subscriptions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "nextLink"
+ ],
+ "description": "Subscription list operation response."
+ },
+ "TenantIdDescription": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the tenant. For example, /tenants/00000000-0000-0000-0000-000000000000."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID. For example, 00000000-0000-0000-0000-000000000000."
+ }
+ },
+ "description": "Tenant Id information."
+ },
+ "TenantListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TenantIdDescription"
+ },
+ "description": "An array of tenants."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "required": [
+ "nextLink"
+ ],
+ "description": "Tenant Ids information."
+ },
+ "Operation": {
+ "description": "Microsoft.Resources 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.Resources",
+ "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 the operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Microsoft.Resources 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 Microsoft.Resources operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the operation.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplication.json
new file mode 100644
index 000000000000..57f181b155ef
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplication.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "applicationName": "myManagedApplication",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG"
+ },
+ "location": "East US 2",
+ "kind": "ServiceCatalog"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplication",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication",
+ "type": "Microsoft.Solutions/applications",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "plan": null,
+ "identity": null,
+ "kind": "ServiceCatalog",
+ "sku": null,
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "outputs": null,
+ "parameters": null,
+ "provisioningState": "Created"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplication",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication",
+ "type": "Microsoft.Solutions/applications",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "plan": null,
+ "identity": null,
+ "kind": "ServiceCatalog",
+ "sku": null,
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "outputs": null,
+ "parameters": null,
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json
new file mode 100644
index 000000000000..8b4ef39435d0
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "applicationDefinitionName": "myManagedApplicationDef",
+ "api-version": "2019-07-01",
+ "parameters": {
+ "properties": {
+ "lockLevel": "None",
+ "displayName": "myManagedApplicationDef",
+ "description": "myManagedApplicationDef description",
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "packageFileUri": "https://path/to/packagezipfile"
+ },
+ "location": "East US 2"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplicationDef",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
+ "type": "Microsoft.Solutions/applicationDefinitions",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "sku": null,
+ "properties": {
+ "artifacts": [
+ {
+ "name": "CreateUiDefinition",
+ "type": "Custom",
+ "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
+ },
+ {
+ "name": "ApplicationResourceTemplate",
+ "type": "Template",
+ "uri": "https://path/to/mainTemplate.json"
+ }
+ ],
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "description": "myManagedApplicationDef description",
+ "displayName": "myManagedApplicationDef",
+ "lockLevel": "None",
+ "packageFileUri": "https://path/to/packagezipfile"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplicationDef",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
+ "type": "Microsoft.Solutions/applicationDefinitions",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "sku": null,
+ "properties": {
+ "artifacts": [
+ {
+ "name": "CreateUiDefinition",
+ "type": "Custom",
+ "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
+ },
+ {
+ "name": "ApplicationResourceTemplate",
+ "type": "Template",
+ "uri": "https://path/to/mainTemplate.json"
+ }
+ ],
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "description": "myManagedApplicationDef description",
+ "displayName": "myManagedApplicationDef",
+ "lockLevel": "None",
+ "packageFileUri": "https://path/to/packagezipfile"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json
new file mode 100644
index 000000000000..d47cbf060e59
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "applicationName": "myManagedApplication",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplication",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication",
+ "type": "Microsoft.Solutions/applications",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "plan": null,
+ "identity": null,
+ "kind": "ServiceCatalog",
+ "sku": null,
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "outputs": null,
+ "parameters": null,
+ "provisioningState": "Created",
+ "billingDetails": null,
+ "jitAccessPolicy": null,
+ "publisherTenantId": null,
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "managementMode": "Managed",
+ "customerSupport": null,
+ "supportUrls": null,
+ "artifacts": [],
+ "createdBy": {
+ "oid": "ClientOid",
+ "puid": "ClientPuid",
+ "applicationId": "ClientApplicationId"
+ },
+ "updatedBy": {
+ "oid": "ClientOid",
+ "puid": "ClientPuid",
+ "applicationId": "ClientApplicationId"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json
new file mode 100644
index 000000000000..2b3b9fc39618
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "applicationDefinitionName": "myManagedApplicationDef",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myManagedApplicationDef",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
+ "type": "Microsoft.Solutions/applicationDefinitions",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "sku": null,
+ "properties": {
+ "artifacts": [
+ {
+ "name": "CreateUiDefinition",
+ "type": "Custom",
+ "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
+ },
+ {
+ "name": "ApplicationResourceTemplate",
+ "type": "Template",
+ "uri": "https://path/to/mainTemplate.json"
+ }
+ ],
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "description": "myManagedApplicationDef description",
+ "displayName": "myManagedApplicationDef",
+ "lockLevel": "None",
+ "packageFileUri": "https://path/to/packagezipfile",
+ "notificationPolicy": null,
+ "lockingPolicy": null,
+ "deploymentPolicy": null,
+ "managementPolicy": null,
+ "policies": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json
new file mode 100644
index 000000000000..3a0f627edcab
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "myManagedApplicationDef",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
+ "type": "Microsoft.Solutions/applicationDefinitions",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "sku": null,
+ "properties": {
+ "artifacts": [
+ {
+ "name": "CreateUiDefinition",
+ "type": "Custom",
+ "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
+ },
+ {
+ "name": "ApplicationResourceTemplate",
+ "type": "Template",
+ "uri": "https://path/to/mainTemplate.json"
+ }
+ ],
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "description": "myManagedApplicationDef description",
+ "displayName": "myManagedApplicationDef",
+ "lockLevel": "None",
+ "packageFileUri": "https://path/to/packagezipfile"
+ }
+ },
+ {
+ "name": "myManagedApplicationDef2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2",
+ "type": "Microsoft.Solutions/applicationDefinitions",
+ "location": "West US",
+ "managedBy": null,
+ "tags": null,
+ "sku": null,
+ "properties": {
+ "artifacts": [
+ {
+ "name": "CreateUiDefinition",
+ "type": "Custom",
+ "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
+ },
+ {
+ "name": "ApplicationResourceTemplate",
+ "type": "Template",
+ "uri": "https://path/to/mainTemplate.json"
+ }
+ ],
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "description": "myManagedApplicationDef2 description",
+ "displayName": "myManagedApplicationDef2",
+ "lockLevel": "None",
+ "packageFileUri": "https://path/to/packagezipfile"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationsByResourceGroup.json
new file mode 100644
index 000000000000..fa0f8ee99249
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationsByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "myManagedApplication",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication",
+ "type": "Microsoft.Solutions/applications",
+ "location": "East US 2",
+ "managedBy": null,
+ "tags": null,
+ "plan": null,
+ "identity": null,
+ "kind": "ServiceCatalog",
+ "sku": null,
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "outputs": null,
+ "parameters": null,
+ "provisioningState": "Created"
+ }
+ },
+ {
+ "name": "myManagedApplication2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2",
+ "type": "Microsoft.Solutions/applications",
+ "location": "West US",
+ "managedBy": null,
+ "tags": null,
+ "plan": null,
+ "identity": null,
+ "kind": "ServiceCatalog",
+ "sku": null,
+ "properties": {
+ "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2",
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "outputs": null,
+ "parameters": null,
+ "provisioningState": "Created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listSolutionsOperations.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listSolutionsOperations.json
new file mode 100644
index 000000000000..9aca8d10fb87
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listSolutionsOperations.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "SolutionsOpeartion1",
+ "display": {
+ "provider": "Microsoft.ResourceProvider",
+ "resource": "Resource1",
+ "operation": "Read"
+ }
+ },
+ {
+ "name": "SolutionssOpeartion2",
+ "display": {
+ "provider": "Microsoft.ResourceProvider",
+ "resource": "Resource2",
+ "operation": "Write"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
new file mode 100644
index 000000000000..82d30ad10387
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
@@ -0,0 +1,2298 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationClient",
+ "version": "2019-07-01",
+ "description": "ARM applications"
+ },
+ "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.Solutions/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ListOperations",
+ "description": "Lists all of the available Microsoft.Solutions REST API operations.",
+ "x-ms-examples": {
+ "List Solutions operations": {
+ "$ref": "./examples/listSolutionsOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_Get",
+ "description": "Gets the managed application.",
+ "x-ms-examples": {
+ "Get a managed application": {
+ "$ref": "./examples/getApplication.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the managed application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_Delete",
+ "description": "Deletes the managed application.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_CreateOrUpdate",
+ "description": "Creates a new managed application.",
+ "x-ms-examples": {
+ "Create or update managed application": {
+ "$ref": "./examples/createOrUpdateApplication.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "Parameters supplied to the create or update a managed application."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_Update",
+ "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "Parameters supplied to update an existing managed application."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": {
+ "get": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_Get",
+ "description": "Gets the managed application definition.",
+ "x-ms-examples": {
+ "Get managed application definition": {
+ "$ref": "./examples/getApplicationDefinition.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application definition.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the managed application definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_Delete",
+ "description": "Deletes the managed application definition.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application definition to delete.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_CreateOrUpdate",
+ "description": "Creates a new managed application definition.",
+ "x-ms-examples": {
+ "Create or update managed application definition": {
+ "$ref": "./examples/createOrUpdateApplicationDefinition.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application definition.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ },
+ "description": "Parameters supplied to the create or update an managed application definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the managed application definition, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the managed application definition, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": {
+ "get": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_ListByResourceGroup",
+ "description": "Lists the managed application definitions in a resource group.",
+ "x-ms-examples": {
+ "List managed application definitions": {
+ "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of managed application definitions.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_ListByResourceGroup",
+ "description": "Gets all the applications within a resource group.",
+ "x-ms-examples": {
+ "Lists applications": {
+ "$ref": "./examples/listApplicationsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of applications.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_ListBySubscription",
+ "description": "Gets all the applications within a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of applications.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{applicationId}": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_GetById",
+ "description": "Gets the managed application.",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the managed application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_DeleteById",
+ "description": "Deletes the managed application.",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_CreateOrUpdateById",
+ "description": "Creates a new managed application.",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "Parameters supplied to the create or update a managed application."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_UpdateById",
+ "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "Parameters supplied to update an existing managed application."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created - Returns information about the managed application, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": {
+ "get": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "JitRequests_Get",
+ "description": "Gets the JIT request.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "jitRequestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the JIT request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the JIT request",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "jitRequests_CreateOrUpdate",
+ "description": "Creates or updates the JIT request.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "jitRequestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the JIT request."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ },
+ "description": "Parameters supplied to the update JIT request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns information about the JIT request.",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ }
+ },
+ "200": {
+ "description": "Ok - Returns information about existing JIT request.",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "JitRequests_Update",
+ "description": "Updates the JIT request.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "jitRequestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the JIT request."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JitRequestPatchable"
+ },
+ "description": "Parameters supplied to the update JIT request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - Returns information about the JIT request.",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "jitRequests_Delete",
+ "description": "Deletes the JIT request.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "jitRequestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the JIT request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": {
+ "get": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "jitRequests_ListBySubscription",
+ "description": "Retrieves all JIT requests within the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of JIT requests.",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": {
+ "get": {
+ "tags": [
+ "JitRequests"
+ ],
+ "operationId": "jitRequests_ListByResourceGroup",
+ "description": "Retrieves all JIT requests within the resource group.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of JIT requests.",
+ "schema": {
+ "$ref": "#/definitions/JitRequestDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Applications_RefreshPermissions",
+ "description": "Refresh Permissions for application.",
+ "parameters": [
+ {
+ "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
+ },
+ {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed application.",
+ "minLength": 3,
+ "maxLength": 64
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/{applicationDefinitionId}?disambiguation_dummy": {
+ "get": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_GetById",
+ "description": "Gets the managed application definition.",
+ "parameters": [
+ {
+ "name": "applicationDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the managed application definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_DeleteById",
+ "description": "Deletes the managed application definition.",
+ "parameters": [
+ {
+ "name": "applicationDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "ApplicationDefinitions"
+ ],
+ "operationId": "ApplicationDefinitions_CreateOrUpdateById",
+ "description": "Creates a new managed application definition.",
+ "parameters": [
+ {
+ "name": "applicationDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ },
+ "description": "Parameters supplied to the create or update a managed application definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the managed application definition, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the managed application definition, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "Application": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "description": "The managed application properties."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "The plan information."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.",
+ "pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/GenericResource"
+ }
+ ],
+ "description": "Information about managed application."
+ },
+ "ApplicationPatchable": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPropertiesPatchable",
+ "description": "The managed application properties."
+ },
+ "plan": {
+ "$ref": "#/definitions/PlanPatchable",
+ "description": "The plan information."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.",
+ "pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GenericResource"
+ }
+ ],
+ "description": "Information about managed application."
+ },
+ "ApplicationDefinition": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationDefinitionProperties",
+ "description": "The managed application definition properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/GenericResource"
+ }
+ ],
+ "description": "Information about managed application definition."
+ },
+ "ApplicationProperties": {
+ "properties": {
+ "managedResourceGroupId": {
+ "type": "string",
+ "description": "The managed resource group Id."
+ },
+ "applicationDefinitionId": {
+ "type": "string",
+ "description": "The fully qualified path of managed application definition Id."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string."
+ },
+ "outputs": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Name and value pairs that define the managed application outputs."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The managed application provisioning state."
+ },
+ "billingDetails": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationBillingDetailsDefinition",
+ "description": "The managed application billing details."
+ },
+ "jitAccessPolicy": {
+ "$ref": "#/definitions/ApplicationJitAccessPolicy",
+ "description": "The managed application Jit access policy."
+ },
+ "publisherTenantId": {
+ "type": "string",
+ "description": "The publisher tenant Id.",
+ "readOnly": true
+ },
+ "authorizations": {
+ "description": "The read-only authorizations property that is retrieved from the application package.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationAuthorization"
+ },
+ "readOnly": true
+ },
+ "managementMode": {
+ "$ref": "#/definitions/ApplicationManagementMode",
+ "description": "The managed application management mode.",
+ "readOnly": true
+ },
+ "customerSupport": {
+ "$ref": "#/definitions/ApplicationPackageContact",
+ "description": "The read-only customer support property that is retrieved from the application package.",
+ "readOnly": true
+ },
+ "supportUrls": {
+ "$ref": "#/definitions/ApplicationPackageSupportUrls",
+ "description": "The read-only support URLs property that is retrieved from the application package.",
+ "readOnly": true
+ },
+ "artifacts": {
+ "description": "The collection of managed application artifacts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationArtifact"
+ },
+ "readOnly": true
+ },
+ "createdBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that created the JIT request."
+ },
+ "updatedBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that last updated the JIT request."
+ }
+ },
+ "description": "The managed application properties."
+ },
+ "ApplicationPropertiesPatchable": {
+ "properties": {
+ "managedResourceGroupId": {
+ "type": "string",
+ "description": "The managed resource group Id."
+ },
+ "applicationDefinitionId": {
+ "type": "string",
+ "description": "The fully qualified path of managed application definition Id."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string."
+ },
+ "outputs": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Name and value pairs that define the managed application outputs."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The managed application provisioning state."
+ }
+ },
+ "description": "The managed application properties."
+ },
+ "ApplicationDefinitionProperties": {
+ "properties": {
+ "lockLevel": {
+ "$ref": "#/definitions/ApplicationLockLevel",
+ "description": "The managed application lock level."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The managed application definition display name."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "A value indicating whether the package is enabled or not."
+ },
+ "authorizations": {
+ "description": "The managed application provider authorizations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationAuthorization"
+ }
+ },
+ "artifacts": {
+ "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationDefinitionArtifact"
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The managed application definition description."
+ },
+ "packageFileUri": {
+ "type": "string",
+ "description": "The managed application definition package file Uri. Use this element"
+ },
+ "mainTemplate": {
+ "type": "object",
+ "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string."
+ },
+ "createUiDefinition": {
+ "type": "object",
+ "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string."
+ },
+ "notificationPolicy": {
+ "$ref": "#/definitions/ApplicationNotificationPolicy",
+ "description": "The managed application notification policy."
+ },
+ "lockingPolicy": {
+ "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition",
+ "description": "The managed application locking policy."
+ },
+ "deploymentPolicy": {
+ "$ref": "#/definitions/ApplicationDeploymentPolicy",
+ "description": "The managed application deployment policy."
+ },
+ "managementPolicy": {
+ "$ref": "#/definitions/ApplicationManagementPolicy",
+ "description": "The managed application management policy that determines publisher's access to the managed resource group."
+ },
+ "policies": {
+ "description": "The managed application provider policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPolicy"
+ }
+ }
+ },
+ "required": [
+ "lockLevel"
+ ],
+ "description": "The managed application definition properties."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan name."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The product code."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ },
+ "version": {
+ "type": "string",
+ "description": "The plan's version."
+ }
+ },
+ "required": [
+ "name",
+ "publisher",
+ "product",
+ "version"
+ ],
+ "description": "Plan for the managed application."
+ },
+ "PlanPatchable": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan name."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "The product code."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ },
+ "version": {
+ "type": "string",
+ "description": "The plan's version."
+ }
+ },
+ "description": "Plan for the managed application."
+ },
+ "GenericResource": {
+ "properties": {
+ "managedBy": {
+ "type": "string",
+ "description": "ID of the resource that manages this resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Resource information."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The SKU name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The SKU tier."
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size."
+ },
+ "family": {
+ "type": "string",
+ "description": "The SKU family."
+ },
+ "model": {
+ "type": "string",
+ "description": "The SKU model."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The SKU capacity."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "SKU for the resource."
+ },
+ "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": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "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": "Resource information.",
+ "x-ms-azure-resource": true
+ },
+ "ApplicationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The array of managed applications."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of managed applications."
+ },
+ "ApplicationDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationDefinition"
+ },
+ "description": "The array of managed application definitions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of managed application definitions."
+ },
+ "ProvisioningState": {
+ "description": "Provisioning status of the managed application.",
+ "readOnly": true,
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "ApplicationLockLevel": {
+ "description": "The managed application lock level.",
+ "enum": [
+ "CanNotDelete",
+ "ReadOnly",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationLockLevel",
+ "modelAsString": false
+ }
+ },
+ "ApplicationArtifactType": {
+ "description": "The managed application artifact type.",
+ "enum": [
+ "NotSpecified",
+ "Template",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationArtifactType",
+ "modelAsString": false
+ }
+ },
+ "ApplicationDefinitionArtifactName": {
+ "description": "The managed application artifact name.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationResourceTemplate",
+ "CreateUiDefinition",
+ "MainTemplateParameters"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationDefinitionArtifactName",
+ "modelAsString": true
+ }
+ },
+ "ApplicationArtifactName": {
+ "description": "The managed application artifact name.",
+ "enum": [
+ "NotSpecified",
+ "ViewDefinition",
+ "Authorizations",
+ "CustomRoleDefinition"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationArtifactName",
+ "modelAsString": true
+ }
+ },
+ "ApplicationArtifact": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ApplicationArtifactName",
+ "description": "The managed application artifact name."
+ },
+ "uri": {
+ "type": "string",
+ "description": "The managed application artifact blob uri."
+ },
+ "type": {
+ "$ref": "#/definitions/ApplicationArtifactType",
+ "description": "The managed application artifact type."
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "uri"
+ ],
+ "description": "Managed application artifact."
+ },
+ "ApplicationDefinitionArtifact": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ApplicationDefinitionArtifactName",
+ "description": "The managed application definition artifact name."
+ },
+ "uri": {
+ "type": "string",
+ "description": "The managed application definition artifact blob uri."
+ },
+ "type": {
+ "$ref": "#/definitions/ApplicationArtifactType",
+ "description": "The managed application definition artifact type."
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "uri"
+ ],
+ "description": "Application definition artifact."
+ },
+ "ApplicationNotificationPolicy": {
+ "properties": {
+ "notificationEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationNotificationEndpoint"
+ },
+ "description": "The managed application notification endpoint."
+ }
+ },
+ "required": [
+ "notificationEndpoints"
+ ],
+ "description": "Managed application notification policy."
+ },
+ "ApplicationNotificationEndpoint": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The managed application notification endpoint uri."
+ }
+ },
+ "required": [
+ "uri"
+ ],
+ "description": "Managed application notification endpoint."
+ },
+ "ApplicationPackageLockingPolicyDefinition": {
+ "properties": {
+ "allowedActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The deny assignment excluded actions."
+ }
+ },
+ "description": "Managed application locking policy."
+ },
+ "ApplicationDeploymentPolicy": {
+ "properties": {
+ "deploymentMode": {
+ "$ref": "#/definitions/DeploymentMode",
+ "description": "The managed application deployment mode."
+ }
+ },
+ "required": [
+ "deploymentMode"
+ ],
+ "description": "Managed application deployment policy."
+ },
+ "ApplicationManagementPolicy": {
+ "properties": {
+ "mode": {
+ "$ref": "#/definitions/ApplicationManagementMode",
+ "description": "The managed application management mode."
+ }
+ },
+ "description": "Managed application management policy."
+ },
+ "ApplicationPolicy": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The policy name"
+ },
+ "policyDefinitionId": {
+ "type": "string",
+ "description": "The policy definition Id."
+ },
+ "parameters": {
+ "type": "string",
+ "description": "The policy parameters."
+ }
+ },
+ "description": "Managed application policy."
+ },
+ "ApplicationAuthorization": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group."
+ }
+ },
+ "required": [
+ "principalId",
+ "roleDefinitionId"
+ ],
+ "description": "The managed application provider authorization."
+ },
+ "ApplicationPackageContact": {
+ "properties": {
+ "contactName": {
+ "type": "string",
+ "description": "The contact name."
+ },
+ "email": {
+ "type": "string",
+ "description": "The contact email."
+ },
+ "phone": {
+ "type": "string",
+ "description": "The contact phone number."
+ }
+ },
+ "required": [
+ "email",
+ "phone"
+ ],
+ "description": "The application package contact information."
+ },
+ "ApplicationPackageSupportUrls": {
+ "properties": {
+ "publicAzure": {
+ "type": "string",
+ "description": "The public azure support URL."
+ },
+ "governmentCloud": {
+ "type": "string",
+ "description": "The government cloud support URL."
+ }
+ },
+ "description": "The appliance package support URLs."
+ },
+ "ApplicationBillingDetailsDefinition": {
+ "properties": {
+ "resourceUsageId": {
+ "type": "string",
+ "description": "The managed application resource usage Id."
+ }
+ },
+ "description": "Managed application billing details definition."
+ },
+ "ApplicationJitAccessPolicy": {
+ "properties": {
+ "jitAccessEnabled": {
+ "type": "boolean",
+ "description": "Whether the JIT access is enabled."
+ },
+ "jitApprovalMode": {
+ "$ref": "#/definitions/JitApprovalMode",
+ "description": "JIT approval mode."
+ },
+ "jitApprovers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitApproverDefinition"
+ },
+ "description": "The JIT approvers"
+ },
+ "maximumJitAccessDuration": {
+ "type": "string",
+ "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value."
+ }
+ },
+ "required": [
+ "jitAccessEnabled"
+ ],
+ "description": "Managed application Jit access policy."
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "httpStatus": {
+ "description": "Http status code.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "JitRequestDefinition": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/JitRequestProperties",
+ "description": "The JIT request properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Information about JIT request definition."
+ },
+ "JitRequestPatchable": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Jit request tags"
+ }
+ },
+ "description": "Information about JIT request."
+ },
+ "JitRequestDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitRequestDefinition"
+ },
+ "description": "The array of Jit request definition."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of JIT requests."
+ },
+ "JitRequestProperties": {
+ "properties": {
+ "applicationResourceId": {
+ "type": "string",
+ "description": "The parent application id."
+ },
+ "publisherTenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The publisher tenant id."
+ },
+ "jitAuthorizationPolicies": {
+ "description": "The JIT authorization policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitAuthorizationPolicies"
+ }
+ },
+ "jitSchedulingPolicy": {
+ "$ref": "#/definitions/JitSchedulingPolicy",
+ "description": "The JIT request properties."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The JIT request provisioning state."
+ },
+ "jitRequestState": {
+ "readOnly": true,
+ "$ref": "#/definitions/JitRequestState",
+ "description": "The JIT request state."
+ },
+ "createdBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that created the JIT request."
+ },
+ "updatedBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that last updated the JIT request."
+ }
+ },
+ "required": [
+ "applicationResourceId",
+ "jitAuthorizationPolicies",
+ "jitSchedulingPolicy"
+ ],
+ "description": "Information about JIT request properties"
+ },
+ "JitAuthorizationPolicies": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "The the principal id that will be granted JIT access."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition id that will be granted to the Principal."
+ }
+ },
+ "required": [
+ "principalId",
+ "roleDefinitionId"
+ ],
+ "description": "The JIT authorization policies."
+ },
+ "JitSchedulingPolicy": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/JitSchedulingType",
+ "description": "The type of JIT schedule."
+ },
+ "duration": {
+ "type": "string",
+ "format": "duration",
+ "title": "The required duration of the JIT request."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the request."
+ }
+ },
+ "required": [
+ "type",
+ "duration",
+ "startTime"
+ ],
+ "description": "The JIT scheduling policies."
+ },
+ "JitApprovalMode": {
+ "description": "The Jit approval mode.",
+ "enum": [
+ "NotSpecified",
+ "AutoApprove",
+ "ManualApprove"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JitApprovalMode",
+ "modelAsString": true
+ }
+ },
+ "JitApproverDefinition": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The approver service principal Id."
+ },
+ "type": {
+ "type": "string",
+ "description": "The approver type.",
+ "enum": [
+ "user",
+ "group"
+ ],
+ "x-ms-enum": {
+ "name": "JitApproverType",
+ "modelAsString": true
+ }
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The approver display name."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "JIT approver definition."
+ },
+ "ApplicationClientDetails": {
+ "readOnly": true,
+ "properties": {
+ "oid": {
+ "type": "string",
+ "description": "The client Oid."
+ },
+ "puid": {
+ "type": "string",
+ "description": "The client Puid"
+ },
+ "applicationId": {
+ "type": "string",
+ "description": "The client application Id."
+ }
+ },
+ "description": "The application client details to track the entity creating/updating the managed app resource."
+ },
+ "JitRequestState": {
+ "description": "The JIT request state.",
+ "readOnly": true,
+ "enum": [
+ "NotSpecified",
+ "Pending",
+ "Approved",
+ "Denied",
+ "Failed",
+ "Canceled",
+ "Expired",
+ "Timeout"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JitRequestState",
+ "modelAsString": true
+ }
+ },
+ "JitSchedulingType": {
+ "description": "The JIT request scheduling type.",
+ "readOnly": true,
+ "enum": [
+ "NotSpecified",
+ "Once",
+ "Recurring"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JitSchedulingType",
+ "modelAsString": true
+ }
+ },
+ "Operation": {
+ "description": "Microsoft.Solutions 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.Solutions",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Application, JitRequest, etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Microsoft.Solutions 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 Microsoft.Solutions operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "DeploymentMode": {
+ "description": "The deployment mode.",
+ "enum": [
+ "NotSpecified",
+ "Incremental",
+ "Complete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": true
+ }
+ },
+ "ApplicationManagementMode": {
+ "description": "The management mode.",
+ "enum": [
+ "NotSpecified",
+ "Unmanaged",
+ "Managed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationManagementMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/readme.csharp.md b/specification/resources/resource-manager/readme.csharp.md
index 9eebe1e0c3d4..8035831712c8 100644
--- a/specification/resources/resource-manager/readme.csharp.md
+++ b/specification/resources/resource-manager/readme.csharp.md
@@ -23,6 +23,7 @@ batch:
- package-resources: true
- package-subscriptions: true
- package-links: true
+ - package-deploymentscripts: true
# - package-managedapplications: true
```
@@ -123,6 +124,19 @@ batch:
ApiVersionName: Api2019_08_01
- policyD-2016-12-01: true
ApiVersionName: Api2019_08_01
+
+ - resources-2019-10-01: true
+ ApiVersionName: Api2019_10_01
+ - links-2016-09-01: true
+ ApiVersionName: Api2019_10_01
+ - subscription-2016-06-01: true
+ ApiVersionName: Api2019_10_01
+ - locks-2016-09-01: true
+ ApiVersionName: Api2019_10_01
+ - policyA-2016-12-01: true
+ ApiVersionName: Api2019_10_01
+ - policyD-2016-12-01: true
+ ApiVersionName: Api2019_10_01
```
@@ -585,6 +599,74 @@ input-file:
- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
```
+``` yaml $(Separator)
+###########################################################################
+###########################################################################
+```
+
+
+``` yaml $(resources-2019-10-01)
+tag: pkg-2019-10-Az-res
+```
+
+``` yaml $(links-2016-09-01)
+tag: pkg-2019-10-Az-lnk
+```
+
+``` yaml $(subscription-2016-06-01)
+tag: pkg-2019-10-Az-sub
+```
+
+``` yaml $(locks-2016-09-01)
+tag: pkg-2019-10-Az-loc
+```
+
+``` yaml $(policyA-2016-12-01)
+tag: pkg-2019-10-Az-polA
+```
+
+``` yaml $(policyD-2016-12-01)
+tag: pkg-2019-10-Az-polD
+```
+
+
+## Tag: Packages for Azure Stack
+### 1) pkg-2019-10-AzStk-res
+``` yaml $(tag) == 'pkg-2019-10-Az-res'
+input-file:
+- Microsoft.Resources/stable/2019-10-01/resources.json
+```
+
+### 2) pkg-2019-10-AzStk-lnk
+``` yaml $(tag) == 'pkg-2019-10-Az-lnk'
+input-file:
+- Microsoft.Resources/stable/2016-09-01/links.json
+```
+
+### 3) pkg-2019-10-AzStk-sub
+``` yaml $(tag) == 'pkg-2019-10-Az-sub'
+input-file:
+- Microsoft.Resources/stable/2016-06-01/subscriptions.json
+```
+
+### 4) pkg-2019-10-AzStk-loc
+``` yaml $(tag) == 'pkg-2019-10-Az-loc'
+input-file:
+- Microsoft.Authorization/stable/2016-09-01/locks.json
+```
+
+### 5) pkg-2019-10-AzStk-polA
+``` yaml $(tag) == 'pkg-2019-10-Az-polA'
+input-file:
+- Microsoft.Authorization/stable/2016-12-01/policyAssignments.json
+```
+
+### 6) pkg-2019-10-AzStk-polD
+``` yaml $(tag) == 'pkg-2019-10-Az-polD'
+input-file:
+- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
+```
+
### Profile: hybrid_2018_03_01
These settings apply only when `--profile=hybrid_2018_03_01` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md
index 7ad51fe4aeff..f1bbaf275a71 100644
--- a/specification/resources/resource-manager/readme.go.md
+++ b/specification/resources/resource-manager/readme.go.md
@@ -25,6 +25,7 @@ batch:
- tag: package-features-2015-12
- tag: package-locks-2016-09
- tag: package-locks-2015-01
+ - tag: package-policy-2019-09
- tag: package-policy-2019-06
- tag: package-policy-2019-01
- tag: package-policy-2018-05
@@ -47,9 +48,21 @@ batch:
- tag: package-subscriptions-2016-06
- tag: package-subscriptions-2015-11
- tag: package-links-2016-09
+ - tag: package-managedapplications-2019-07
- 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
@@ -82,6 +95,16 @@ namespace: locks
output-folder: $(go-sdk-folder)/services/resources/mgmt/2015-01-01/locks
```
+### Tag: package-policy-2019-09 and go
+
+These settings apply only when `--tag=package-policy-2019-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-policy-2019-09' && $(go)
+namespace: policy
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-09-01/policy
+```
+
### Tag: package-policy-2019-06 and go
These settings apply only when `--tag=package-policy-2019-06 --go` is specified on the command line.
@@ -302,6 +325,16 @@ namespace: links
output-folder: $(go-sdk-folder)/services/resources/mgmt/2016-09-01/links
```
+### Tag: package-managedapplications-2019-07 and go
+
+These settings apply only when `--tag=package-managedapplications-2019-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-managedapplications-2019-07' && $(go)
+namespace: managedapplications
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-07-01/managedapplications
+```
+
### Tag: package-managedapplications-2018-06 and go
These settings apply only when `--tag=package-managedapplications-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
index c55819b454fe..e38997b8144f 100644
--- a/specification/resources/resource-manager/readme.java.md
+++ b/specification/resources/resource-manager/readme.java.md
@@ -20,6 +20,7 @@ Generate all API versions currently shipped for this package
batch:
- tag: package-features-2015-12
- tag: package-locks-2016-09
+ - tag: package-policy-2019-09
- tag: package-policy-2019-06
- tag: package-policy-2019-01
- tag: package-policy-2018-05
@@ -45,7 +46,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2019-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.policy.v2019_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/policy/mgmt-v2019_09_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-06 and java
These settings apply only when `--tag=package-policy-2019-06 --java` is specified on the command line.
@@ -73,7 +92,7 @@ Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-policy-2019-09' && $(python)
+python:
+ namespace: azure.mgmt.resource.policy.v2019_09_01
+ output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy/v2019_09_01
+```
+
### Tag: package-policy-2019-06 and python
These settings apply only when `--tag=package-policy-2019-06 --python` is specified on the command line.
@@ -191,6 +204,17 @@ python:
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview
```
+### Tag: package-resources-2019-10 and python
+
+These settings apply only when `--tag=package-resources-2019-10 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-resources-2019-10' && $(python)
+python:
+ namespace: azure.mgmt.resource.resources.v2019_10_01
+ output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_10_01
+```
+
### Tag: package-resources-2019-08 and python
These settings apply only when `--tag=package-resources-2019-08 --python` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.ruby.md b/specification/resources/resource-manager/readme.ruby.md
index 2b4200a90832..4061349dc60e 100644
--- a/specification/resources/resource-manager/readme.ruby.md
+++ b/specification/resources/resource-manager/readme.ruby.md
@@ -5,11 +5,22 @@ package-name: azure_mgmt_managed_applications
package-version: "0.16.0"
azure-arm: true
batch:
+ - tag: package-managedapplications-2019-07
- tag: package-managedapplications-2018-06
- tag: package-managedapplications-2017-09
- tag: package-managedapplications-2016-09
```
+### Tag: package-managedapplications-2019-07 and ruby
+
+These settings apply only when `--tag=package-managedapplications-2019-07 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-managedapplications-2019-07' && $(ruby)
+namespace: "Azure::ManagedApplications::Mgmt::V2019_07_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_managed_applications/lib
+```
+
### Tag: package-managedapplications-2018-06 and ruby
These settings apply only when `--tag=package-managedapplications-2018-06 --ruby` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.typescript.md b/specification/resources/resource-manager/readme.typescript.md
index 5806648ccd04..f864f915b27d 100644
--- a/specification/resources/resource-manager/readme.typescript.md
+++ b/specification/resources/resource-manager/readme.typescript.md
@@ -21,36 +21,42 @@ batch:
typescript:
package-name: "@azure/arm-features"
output-folder: "$(typescript-sdks-folder)/sdk/features/arm-features"
+ clear-output-folder: true
```
```yaml $(typescript) && $(package-locks) && !$(profile)
typescript:
package-name: "@azure/arm-locks"
output-folder: "$(typescript-sdks-folder)/sdk/locks/arm-locks"
+ clear-output-folder: true
```
```yaml $(typescript) && $(package-policy) && !$(profile)
typescript:
package-name: "@azure/arm-policy"
output-folder: "$(typescript-sdks-folder)/sdk/policy/arm-policy"
+ clear-output-folder: true
```
```yaml $(typescript) && $(package-resources) && !$(profile)
typescript:
package-name: "@azure/arm-resources"
output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-resources"
+ clear-output-folder: true
```
```yaml $(typescript) && $(package-links) && !$(profile)
typescript:
package-name: "@azure/arm-links"
output-folder: "$(typescript-sdks-folder)/sdk/links/arm-links"
+ clear-output-folder: true
```
```yaml $(typescript) && $(package-managedapplications) && !$(profile)
typescript:
package-name: "@azure/arm-managedapplications"
output-folder: "$(typescript-sdks-folder)/sdk/managedapplications/arm-managedapplications"
+ clear-output-folder: true
```
```yaml $(tag)=='package-resources-2018-05' && $(profile)=='profile-hybrid-2019-03-01'
@@ -59,6 +65,7 @@ typescript:
generate-metadata: true
package-name: "@azure/arm-resources-profile-hybrid-2019-03-01"
output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-resources-profile-hybrid-2019-03-01"
+ clear-output-folder: true
batch:
- tag: package-resources-2018-05
```
@@ -69,6 +76,7 @@ typescript:
generate-metadata: true
package-name: "@azure/arm-policy-profile-hybrid-2019-03-01"
output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-policy-profile-hybrid-2019-03-01"
+ clear-output-folder: true
batch:
- tag: package-policy-2016-12
```
@@ -79,6 +87,7 @@ typescript:
generate-metadata: true
package-name: "@azure/arm-locks-profile-hybrid-2019-03-01"
output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-locks-profile-hybrid-2019-03-01"
+ clear-output-folder: true
batch:
- tag: package-locks-2016-09
```
@@ -89,6 +98,7 @@ typescript:
generate-metadata: true
package-name: "@azure/arm-subscriptions-profile-hybrid-2019-03-01"
output-folder: "$(typescript-sdks-folder)/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01"
+ clear-output-folder: true
batch:
- tag: package-subscriptions-2016-06
```
\ No newline at end of file
diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md
index deddd9757d66..9b3c79d1929a 100644
--- a/specification/scheduler/resource-manager/readme.md
+++ b/specification/scheduler/resource-manager/readme.md
@@ -155,7 +155,7 @@ Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(java)
+title: SearchIndexRestClient
+output-folder: $(java-sdks-folder)/search
+namespace: com.azure.search
+java: true
+sync-methods: none
+add-context-parameter: true
+generate-client-interfaces: false
+license-header: |-
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Licensed under the MIT License.
+ Code generated by Microsoft (R) AutoRest Code Generator.
+ Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+require: ../autorest-custom-directives.md
+
+vararg-properties: >-
+ AutocompleteOptions.searchFields,
+ SearchOptions.facets, SearchOptions.highlightFields, SearchOptions.orderBy, SearchOptions.scoringParameters, SearchOptions.searchFields, SearchOptions.select,
+ SuggestOptions.orderBy, SuggestOptions.searchFields, SuggestOptions.select
+```
+
+### Tweak generated code
+
+Use the below directives sparingly. Every modification we make in here, we potentially have to replicate for every target language.
+
+``` yaml $(java)
+directive:
+ # Rename IndexBatch to IndexBatchImpl when processing the API spec
+ - rename-model:
+ from: IndexBatch
+ to: IndexBatchImpl
+
+ # Use Document rather than Map
+ - from:
+ - DocumentsImpl.java
+ - SearchResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(package com.azure.search.models;)/g, "$1\nimport com.azure.search.Document;")
+ .replace(/(package com.azure.search.implementation;)/g, "$1\nimport com.azure.search.Document;")
+ .replace(/(Map